记mysql order by和group by的同时使用的问题

发布于 2023-10-19  590 次阅读


需要使用子查询的情况!

例如一个表中需要获取同种类型的多条数据中的最新一跳时(只有时间不同)
此时 直接分组的话会按默认模式排序,而不是desc ,获取到的数据只能是第一条

拿route_id = 23来说 此时就会产生一跳id未805的数据 而不是809。

这种情况就需要使用子查询 先进行排序然后分组

不需要的情况!

当分组前不需要排序(数据唯一,或者只需要使用聚合函数)时,可以group by 和 order by 连用。