计算具有特定列值的行数

时间:2013-12-08 13:34:48

标签: sql database

我有一张叫做投票的桌子。

ID              int(11) pk ai
candidate_id    int(11)
region          varchar(75)

我可以使用类似

的sql语句获得结果
West 46
East 75
North 28
etc...

西部,东部地区......

由于

3 个答案:

答案 0 :(得分:3)

SELECT region, COUNT(region)
FROM votes
GROUP BY region ORDER BY 2 DESC

嗯,详细说明您对每位候选人的总票数的要求,将取决于您的数据的布局方式。你是否只为候选人投了一行,如果是的话,那我就试试(虽然我没有测试过);

SELECT region, COUNT(region), candidate_id, COUNT(candidate_id)
FROM votes
GROUP BY region, candidate_id ORDER BY 2 DESC, 4 DESC

答案 1 :(得分:0)

假设你想要一个包含两个字段的字符串,你可以使用MySQL的CONCAT函数来连接。

示例:

SELECT DISTINCT region, SUM(*) as votes_count, CONCAT(region, " ", votes_count) FROM votes

More info on CONCAT()

答案 2 :(得分:-1)

SELECT DISTINCT Region
, SUM(Candidate_ID) -- Assumes that the SUM of this equals total votes
FROM Votes
GROUP BY Region