[英]MYSQL - select first 4 records for each category in a table
我有一个表INVENTORY
,其中包含CATEGORY
和UPDATED
列。 按这些列对表进行排序很简单:
SELECT * FROM INVENTORY ORDER BY CATEGORY ASC, UPDATED ASC
我想要的是获得一个只包含每个类别的前4行的结果集。 知道如何完成它吗?
你可以试试像
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.