如何在一个选择中获得每个类别的最新2项(使用mysql)

Seb*_*ian 2 mysql sql

我的数据如下所示:

id|category|insertdate|title....
--------------------------------
1|1|123|test 1
2|1|124|test 2
3|1|125|test 3
4|2|102|test 4
5|2|103|test 5
6|2|104|test 6

我试图完成的是每个类别获得最新的2个条目(按插入日期DESC顺序),因此结果应为:

id|....
----
3|....
2|....
6|....
5|....

通过使用获取最新信息group by很简单,但如何在不启动多个查询的情况下获取最新的2?

谢谢你的帮助;-)
S.

Ale*_*ett 7

这是SQL中一个棘手的问题,最好的方法是引导您阅读一篇涵盖该问题的优秀深入文章:如何在SQL中选择每个组的第一个/最小/最大行.它涵盖了MySQL特定的方法,以及通用方法.

  • 优秀的资源!一个更详尽的答案,内容更清晰. (3认同)