我无法获得SQL_CALC_FOUND_ROWS
返回的结果所以我发布了帖子:将SQL_CALC_FOUND_ROWS放在DISTINCT关键字的正确位置,例如SELECT DISTINCT myColumn FROM myTable WHERE someConditions;
答案 0 :(得分:2)
SELECT syntax就是这样:
SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [MAX_STATEMENT_TIME = N] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...]
[...]
在实践中,只要您尊重整体语法(例如,不要在WHERE
之前放置FROM
),订单似乎并不重要:
mysql> SELECT DISTINCT SQL_CALC_FOUND_ROWS COUNT(*) FROM emails;
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
mysql> SELECT SQL_CALC_FOUND_ROWS DISTINCT COUNT(*) FROM emails;
+----------+
| COUNT(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)