group by 前的 order by 无效
1.问题发现
业务中经常需要用到 分组的功能,但是查询到的每个分组中的数据 需要其中最大的或者最小的
2. 解决问题
1.order by 再 group by 发现sql 报错
2.order by 放到 group by 后面发现没有生效
3.把order by 放到子查询中 主查询中进行group by 发现也没有生效
4. 子查询中 + limit 10000 可以
5.查询的字段中 增加 @count :=@count+1 可
3.问题根源
group by 与order by 相似 都是要进行一遍自动排序的 ,所以group by 后面可有 desc 和asc 默认是asc
上述3方法中,sql 自动优化把order by 去掉了 多以没有生效
上述4 方法中,因为不知道需要多少数据 所以也是不合理的limit