繁体   English   中英

MYSQL - 为表中的每个类别选择前4条记录

[英]MYSQL - select first 4 records for each category in a table

我有一个表INVENTORY ,其中包含CATEGORYUPDATED列。 按这些列对表进行排序很简单:

SELECT * FROM INVENTORY ORDER BY CATEGORY ASC, UPDATED ASC

我想要的是获得一个只包含每个类别的前4行的结果集。 知道如何完成它吗?

如何将SQL结果集限制为不太常见的项非常相同

你可以试试像

SELECT  *
FROM    (
            SELECT  *,
                    (   SELECT  COUNT(1) 
                        FROM    INVENTORY 
                        WHERE   CATEGORY = i.CATEGORY 
                        AND     UPDATED < i.UPDATED
                    ) CountTotal
            FROM    @INVENTORY i
        ) sub
WHERE   sub.CountTotal <= 3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM