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

Most frequent column value in a database table vb.net

我有一个名为 parts

的数据库 table
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

我在我的 table 适配器中试过这个查询

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 ONLYLIMIT 1,具体取决于您的数据库。

编辑:

如果将计数包含在 SELECT 中是否有效?

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