我有一个表 INVENTORY
,其中包含 CATEGORY
和 UPDATED
列。
按这些列对表格进行排序很容易:
SELECT * FROM INVENTORY ORDER BY CATEGORY ASC,UPDATED ASC
我想要的是获得一个只包含每个类别的前 4 行的结果集。 知道如何完成它吗?
最佳答案
与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
关于sql - MYSQL - 为表中的每个类别选择前 4 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2154087/