mysql group by 组内排序方法

group by 基本语法不再赘述,能够快速实现分组统计,但在实际工作场景中,我们不仅仅用到分组统计,还会获取组内排序功能,比如评论表中所有用户的最后发言时间的统计,这就需要组内排序的功能;

直接举例子来说明吧

目标是要筛出不同用户最后一次评论的记录,从图中标红的就是要找的数据

mysql group by 组内排序方法

比较笨的方法:分步走,首先查询不通的user_id,然后根据用户ID再查询,这样写可以实现,并且保证数据绝对准确,但估计会被开发经理骂吧,因为你要用java里的循环,从效率上是不可取的;

mysql group by 组内排序方法

本文介绍的一个功能就是group by 和max()函数组合查询,完美实现组内排序,不局限于max()函数,可以根据正常的业务场景,运用不同的函数来实现分组后的排序

mysql group by 组内排序方法

第二步利用子查询关联查询即可

mysql group by 组内排序方法

工作中刚好用到,参考网上资料,总结一下,参考原文:https://blog.csdn.net/fdipzone/article/details/72453553