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
不...個人項目。 –
恩,你把它們放入查詢中?我真的不明白這個問題是什麼? –