目录

今日说码

点滴记录中国代码进程

X

MySQL 先排序再分组不生效

前言

  最近在写sql时遇到一个问题,业务场景下需要对sql进行先排序再分组,故使用了子查询,先对查询结果做排序,再用子查询嵌套将查询结果做分组。sql正常执行没有问题,但是结果并不是我想要的顺序。百度查了一下,这是MySQL5.7版本特有的bug,这里记录一下解决方案。

解决方案

  在子查询排序中加limit(此时limit的值一定要尽可能的大 , 否则数据达到一定程度后查询不到数据)。

select tmp.* from
    (select userid, empno, created from record where empno = #{empno}
    order by created desc limit 99999999999) tmp 
group by tmp.userid;

标题:MySQL 先排序再分组不生效
作者:96XL
地址:https://solo.96xl.top/articles/2022/01/25/1643099262720.html