我有一个名为parts的数据库表
ID|Name|quanity
1 |p1 |20
2 |p2 |60
3 |p3 |200
4 |p1 |50
5 |p1 |40
6 |p3 |70
我想检索最频繁的零件名称,在我们的示例中是p1,因为它出现了3次,然后我想检索数量最大的零件名称,即p3,数量为270
我在tableadapter中尝试了此查询
SELECT [Name] FROM [Spareparts] GROUP BY [Name] ORDER BY [Name] DESC
但不起作用
答案 0 :(得分:0)
嗯。 。 。您需要按频率而不是名称进行订购:
SELECT [Name]
FROM [Spareparts]
GROUP BY [Name]
ORDER BY COUNT(*) DESC
如果只需要一行,则根据您的数据库添加TOP (1)
或FETCH FIRST 1 ROW ONLY
或LIMIT 1
。
编辑:
如果您将计数包括在SELECT
中,这样做有用吗?
SELECT [Name], COUNT(*) as cnt
FROM [Spareparts]
GROUP BY [Name]
ORDER BY cnt DESC