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

时间:2010-01-28 11:27:19

标签: sql mysql

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

SELECT * FROM INVENTORY ORDER BY CATEGORY ASC, UPDATED ASC

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

1 个答案:

答案 0 :(得分:2)

How to limit an SQL result set to not too common items

非常相似

您可以尝试类似

的内容
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