2014-04-22 63 views
1

我有MySQL表這樣MySQL的計數與參數

ID |user_id |type |extra 
--------------------------------------------- 
1 |1   |1  |0 
2 |2   |1  |0 
3 |2   |1  |2 
4 |1   |1  |2 
5 |1   |2  |0 
6 |1   |1  |2 
7 |2   |2  |2 
8 |3   |1  |0 
9 |2   |2  |2 
10 |2   |2  |0 

我需要USER_ID來算它得到輸出,如:

user_id |one_noextra |one_twoextra |two_noextra |two_twoextra 
--------------------------------------------------------------------- 
1  |1    |2    |1    |0 
2  |1    |1    |1    |2 
3  |1    |0    |0    |0 

(我不知道,如果我算它對,但我希望你明白這一點。)

有沒有什麼辦法可以在MySQL中實現這一點?

感謝您的幫助。

+1

有多少額外/類型的限制,你可以有? – Prix

+0

在**類型**中有1-4個,在**額外**中有0-2個。 – Gomi

回答

3

如果type,extra是有限的,如果類型只能有(1,2)和extra只能有(0,2),你可以這樣做,使用表達式總和它將得到0或1基於表達式的結果,你可以有你數相應

SELECT 
user_id, 
SUM(`type`=1 AND `extra`=0) one_noextra, 
SUM(`type`=1 AND `extra`=2) one_twoextra, 
SUM(`type`=2 AND `extra`=0) two_noextra, 
SUM(`type`=2 AND `extra`=2) two_twoextra 
FROM Table1 
GROUP BY user_id 

Fiddle Demo

+1

我有更多的價值觀,但我會改變它。非常感謝你。 – Gomi