Mysql 每个类别仅显示2个软件
我有一个表软件id\u软件,软件名称,类别 哪种SQL查询只显示每个类别的2个软件 例如,我想得到:Mysql 每个类别仅显示2个软件,mysql,sql,sql-server,oracle,postgresql,Mysql,Sql,Sql Server,Oracle,Postgresql,我有一个表软件id\u软件,软件名称,类别 哪种SQL查询只显示每个类别的2个软件 例如,我想得到: |id_software | software_name | category| -+------------+---------------+---------+- | 1 | Photoshop | 5 | | 2 | illustrator | 5 | | 3 | Firefox
|id_software | software_name | category|
-+------------+---------------+---------+-
| 1 | Photoshop | 5 |
| 2 | illustrator | 5 |
| 3 | Firefox | 1 |
| 4 | I.E | 1 |
-+--------------------------------------+-
来源:您可以使用行数函数来进行此操作
SELECT *
FROM
(SELECT
Category,
id_software,
software_name,
[Nth_Software] = ROW_NUMBER() OVER (Partition by Category ORDER BY Id_software)
FROM
table
) T
WHERE
T.Nth_Software <=2
这将根据每个类别的softwareId为您提供前两个软件条目 您可以发布此示例数据吗?您好,Saechel,表格软件仅包含3个字段id\u software、software\u name、category,我只想为每个类别显示2行Quel SQL encore?[mysql | sql | sql下水道| oracle | postgresql]@wildplasser,请再说一遍?这是一个比较好的例子,它是一个不知名的公司,它在南加州的联合税务局工作[简而言之]你的问题太宽泛了。还有:表现出一些努力;因为它看起来很简单。如果这一个对您有效,为什么您不在这个答案中而不是在另一个答案中给出您的接受分数?您应该添加这是SQL Server/t-SQL语法,只是列中的[…]引号和赋值运算符
SELECT *
FROM
(SELECT
Category,
id_software,
software_name,
[Nth_Software] = ROW_NUMBER() OVER (Partition by Category ORDER BY Id_software)
FROM
table
) T
WHERE
T.Nth_Software <=2