Press "Enter" to skip to content

通用MySQL-排序后GROUP BY

通用的MySQL 排序后再分组的方法。

需求

按文章分组取评论表最新评论

comments 表数据如下:

article_id comment create_time
45 hello 2018-06-05 00:12:00
45 hello2 2018-06-05 02:12:02
201 foo 2018-06-05 00:12:03
201 foo2 2018-06-05 12:12:12

预期结果:

article_id comment create_time
45 hello2 2018-06-05 02:12:02
201 foo2 2018-06-05 12:12:12

代码

mysql 5.6可以使用

select * from ( select * from comments order by create_time desc ) group by article_id;

MySQL 5.7 需要加 limit 来使用,否则会被优化掉

select * from ( select * from comments order by create_time desc limit 10000000000 ) group by article_id;

虽然有点不美观,但是是最简洁的写法;

参考文章地址:https://bbs.csdn.net/topics/391998346#post-401456065 (6楼正解)

打赏 赞(0)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code