数据库中最常见的列值 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 ONLY
或 LIMIT 1
,具体取决于您的数据库。
编辑:
如果将计数包含在 SELECT
中是否有效?
SELECT [Name], COUNT(*) as cnt
FROM [Spareparts]
GROUP BY [Name]
ORDER BY cnt DESC
我有一个名为 parts
的数据库 tableID|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 ONLY
或 LIMIT 1
,具体取决于您的数据库。
编辑:
如果将计数包含在 SELECT
中是否有效?
SELECT [Name], COUNT(*) as cnt
FROM [Spareparts]
GROUP BY [Name]
ORDER BY cnt DESC