mysql 先分组 后排序

mysql 正常的逻辑  select * from table group by a order by b desc 会默认  先分组再排序

但是实际的开发过程中难免会遇到先排序 后分组的情况

这个时候 就要想其他的方法

1 mysql 5.7 以下

select * from (select * from table order by b) group a

2 mysql 5.7以上 包括5.7

由于MySql 5.7对子查询进行了优化 可上面的语句 结果依然是先分组 再排序的结果

可做 如下修改

select * from (select * from table order by b limit 9999) group a

添加完limit 后就可以实现先排序后分组

发布了23 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/pmlptf/article/details/104439247