MySQL5.7 子查询以后再GROUP BY

今天遇到一个惊天大bug,
查询数据库版本select version();

mysql 5.6

SELECT aa.worker_status,aa.worker_id,aa.create_time,aa.project_id FROM(
        SELECT twe.worker_id,twe.worker_status,twe.project_id,twe.create_time from t_worker_exitorentre twe
                WHERE twe.project_id = '0e50***************4eba544' AND worker_id is not null AND worker_id != '' order by twe.create_time desc,twe.id desc
        ) aa GROUP BY aa.worker_id 

MySQL5.7 子查询以后再GROUP BY_第1张图片

 

但是生产环境mysql变成8.0.16
MySQL5.7 子查询以后再GROUP BY_第2张图片

重点来了,在原子查询上面加LIMIT 99999

 

SELECT aa.worker_status,aa.worker_id,aa.create_time,aa.project_id FROM(
        SELECT twe.worker_id,twe.worker_status,twe.project_id,twe.create_time from t_worker_exitorentre twe
                WHERE twe.project_id = '0e50***************4eba544' AND worker_id is not null AND worker_id != '' order by twe.create_time desc,twe.id desc LIMIT 99999
        ) aa GROUP BY aa.worker_id 

MySQL5.7 子查询以后再GROUP BY_第3张图片

你可能感兴趣的:(mysql问题集)