2014-06-29 26 views
0

我想計算每個項目的計票結果此表:MySQL查詢從不同的條件之一表

user item vote 
-------------------------------- 
    4  1  left 
    4  2  left 
    2  2  right 
    3  2  left 
    1  3  right 

的結果必須是這樣的:

item | left_vote | right_vote 
1  1    0 
2  2    1 
3  0    1 

我試着使用這樣的查詢:

SELECT t.item, count(vote) as left_count, t.right_count from (SELECT count(vote) as right_count, item from view where vote = 'right') as t, view where vote = 'left'; 

但它不起作用。我認爲我必須使用連接子查詢。

它是真的與MySQL?

回答

2

在MySQL中你可以使用條件彙總:

select item, sum(vote = 'left') as left_vote, sum(vote = 'right') as right_vote 
from votes v 
group by item; 

你並不需要爲這個聯接或子查詢。

+0

非常感謝你!這真的很有用 –