暂无图片
MYSQL 8.0 GROUP BY XXX 不带ORDER BY 还会随机排序吗?
我来答
分享
暂无图片 匿名用户
MYSQL 8.0 GROUP BY XXX 不带ORDER BY 还会随机排序吗?

MYSQL 8.0 GROUP BY XXX 不带ORDER BY 还会随机排序吗?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
张sir

看起来不是随机排序的。


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
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏