0
如何使用SQL_CALC_FOUND_ROWS和DISTINCT选项构建MySQL查询?MySQL多选选项
如何使用SQL_CALC_FOUND_ROWS和DISTINCT选项构建MySQL查询?MySQL多选选项
SQL_CALC_FOUND_ROWS
仅适用于LIMIT
子句,并允许您使用信息功能FOUND_ROWS()
查找完整记录集中的行数,而无需运行另一个查询来对行进行计数。
SELECT SQL_CALC_FOUND_ROWS * FROM ... WHERE ... LIMIT X;
SELECT FOUND_ROWS();
这样以来DISTINCT
和where conditions
关键字实际上影响到完整的记录集,SQL_CALC_FOUND_ROWS
功能已经没有什么beeing冷落的概念。据我所知,DISTINCT
关键字没有可用的类似信息功能,除了运行查询两次外,没有别的选择。
SELECT DISTINCT * FROM ... WHERE ...;
SELECT COUNT(*) FROM ... WHERE ...;
注意:您仍然可以既SQL_CALC_FOUND_ROWS
和DISTINCT
在同一个查询中使用,但FOUND_ROWS();
将只能看到由LIMIT
条款排除在外。
这是你的作业吗? – Marco
不...个人项目。 –
恩,你把它们放入查询中?我真的不明白这个问题是什么? –