次の2つのクエリがあります。
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とGROUPBYの動作が異なる可能性があります。結果を出力する前に注文しますか?