我有以下两个查询:
SELECT id, sex FROM user WHERE sex=0 GROUP BY id LIMIT 10;
使用以下输出:
+----+-----+
| id | sex |
+----+-----+
| 3 | 0 |
| 6 | 0 |
| 30 | 0 |
| 36 | 0 |
| 38 | 0 |
| 40 | 0 |
| 43 | 0 |
| 46 | 0 |
| 48 | 0 |
| 54 | 0 |
+----+-----+
10 rows in set (0.04 sec)
和
SELECT DISTINCT id, sex FROM user WHERE sex=0 LIMIT 10;
+------+-----+
| id | sex |
+------+-----+
| 721 | 0 |
| 440 | 0 |
| 485 | 0 |
| 2388 | 0 |
| 1215 | 0 |
| 1218 | 0 |
| 6569 | 0 |
| 5123 | 0 |
| 5178 | 0 |
| 5177 | 0 |
+------+-----+
10 rows in set (0.03 sec)
但它们显示出不同的结果。是什么让他们创造了不同的结果。我的印象是 LIMIT 是在一切完成后应用的。LIMIT 可能会影响这一点,或者在尝试查找唯一/不同值时 DISTINCT 和 GROUP BY 的行为是否不同。他们在输出结果之前订购它们吗?