数据库表vb.net中最常见的列值

问题描述 投票:0回答:1

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

但它不起作用

sql vb.net tableadapter
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.