2013-12-08 92 views
0

我有一张表格,名为votes。计算具有特定列值的行数

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

我能得到的结果与一些SQL语句像

West 46 
East 75 
North 28 
etc... 

西,东是地区...

感谢

+0

你的问题是不是100%我清楚。你想得到一票,还是46个候选人ID? – edwardmp

+0

46是票数的总和。 – user3079896

回答

1
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 
+0

完美,非常感谢。我们也可以做类似 x - 24 y - 22 其中x和y是来自特定区域的候选物。 – user3079896

+0

尝试更新的语句。不知道按顺序排列的逗号... –

0

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

例子:

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

More info on CONCAT()

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

与Group By不同,不需要区别。 –

相关问题