MySQL每个分类的前几条记录

Posted xiezie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL每个分类的前几条记录相关的知识,希望对你有一定的参考价值。

mysql 获取所有分类和每个分类的前几条记录

比如有文章表 Article(Id,Category,InsertDate)

现在要用SQL找出每种类型中时间最新的前N个数据组成的集合

 

SELECT A1.*
FROM Article AS A1
    INNER JOIN (SELECT A.Category,A.InsertDate
        FROM Article AS A
        LEFT JOIN Article AS B
        ON A.Category = B.Category
        AND A.InsertDate <= B.InsertDate
        GROUP BY A.Category,A.InsertDate
        HAVING COUNT(B.InsertDate) <= @N
    ) AS B1
ON A1.Category = B1.Category
AND A1.InsertDate = B1.InsertDate
ORDER BY A1.Category,A1.InsertDate DESC

 

ps:  @N 就是要取多少条

以上是关于MySQL每个分类的前几条记录的主要内容,如果未能解决你的问题,请参考以下文章

SQL中显示查询结果的前几条记录

如何优雅的获取每个分组的前几条数据

SQL中显示查询结果的前几条记录

sqlserver 和 Mysql 的前几条的查询

SQL实现分组查询取前几条记录

linux查看前几条命令记录