匿名用户MYSQL 8.0 GROUP BY XXX 不带ORDER BY 还会随机排序吗?
看起来不是随机排序的。
mysql> show create table test;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
| test | CREATE TABLE `test` (
`id` int DEFAULT NULL,
`name` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
mysql> select name from test group by name;
+------+
| name |
+------+
| NULL |
| a |
| b |
| c |
| d |
| e |
+------+
6 rows in set (0.00 sec)
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| 1 | NULL |
| 2 | a |
| 3 | a |
| 4 | a |
| 4 | b |
| 5 | c |
| 6 | d |
| 7 | e |
| 8 | a |
| 9 | b |
+------+------+
10 rows in set (0.01 sec)
mysql> select id from test group by id;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
+------+
9 rows in set (0.00 sec)
评论
有用 0目前不会随机排序,
排序规则 依就是否有WHERE 条件
如果没有WHERE 条件就依据主键
有WHERE 条件 其是否有索引
有索引 执行计划是否利用到了
利用到了 就依据索引排序
评论
有用 0
墨值悬赏

