如何从列中选择不同的值及其计数?

时间:2014-12-12 14:21:09

标签: sql-server select count

我有一个应用程序(在C#中),用户可以对他们最喜欢的水果(ProduceID = 1苹果,橙子,香蕉)或蔬菜(ProduceID = 2黄瓜,土豆,南瓜)进行投票。在我的数据库(Microsoft SQL 2012管理系统)中,我有以下列NumProduceIDVote

当前选择全部将如下:

Num|ProduceID|Vote
---------------------
1  |1        |Orange
2  |2        |Potato
3  |1        |Orange
4  |2        |Potato
5  |1        |Banana

我想运行一个SQL查询来获得不同的投票和他们的计数:

ProduceID|Vote  |Count
----------------------
1        |Orange|2
2        |Potato|2
3        |Banana|1

以下是我的尝试:

SELECT ProduceID, distinct Vote, Count (Vote) FROM [DB].[dbo].[Table]

这会导致语法错误。

1 个答案:

答案 0 :(得分:1)

您需要使用group by子句:

SELECT   ProduceID, Vote, COUNT (*) 
FROM     [DB].[dbo].[Table]
GROUP BY ProduceID, Vote