2013-12-08 50 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不同,不需要區別。 –

相關問題