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

标签 sql mysql

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

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/

相关文章:

mysql - 数据库中的属性未更改

MYSQL:如何获取按周记录的小时数

java - 将方法与 spred 同步

java - Android HttpResponse 不能在 IF 语句中使用来检查内容

mysql - 在 SQL 中插入一行并在存储过程中设置变量?

sql - 如何将 sql 数据文件导入 SQL Server?

java - 在 Java Swing 中将 Excel 数据插入数据库时​​出现 ExceptionInInitializerError

sql - 如何聚合唯一字符串值或 NULL

java - 插入带有自动递增字段的行

php - 选择给定月份发生的事件