我有一个名为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
但它不起作用
好 。 。 。你需要按频率订购,而不是名字:
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