数据库表vb.net中最频繁的列值

时间:2019-03-13 15:28:47

标签: sql vb.net tableadapter

我有一个名为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

但不起作用

1 个答案:

答案 0 :(得分:0)

嗯。 。 。您需要按频率而不是名称进行订购:

SELECT [Name]
FROM [Spareparts]
GROUP BY  [Name]  
ORDER BY COUNT(*) DESC

如果只需要一行,则根据您的数据库添加TOP (1)FETCH FIRST 1 ROW ONLYLIMIT 1

编辑:

如果您将计数包括在SELECT中,这样做有用吗?

SELECT [Name], COUNT(*) as cnt
FROM [Spareparts]
GROUP BY  [Name]  
ORDER BY cnt DESC