
Untitled
By: a guest on
Jun 30th, 2012 | syntax:
None | size: 0.94 KB | hits: 11 | expires: Never
SQL Query how to count different value in single row
+-----+-----+-----+-----+
| A | B | C | D |
+=====+=====+=====+=====+
| a | b | 3 | 100 | << a,b
+-----+-----+-----+-----+
| a | c | 3 | 60 | << a,c
+-----+-----+-----+-----+
| a | b | 4 | 50 | << a,b
+-----+-----+-----+-----+
| a | b | 5 | 30 | << a,b
+-----+-----+-----+-----+
| d | b | 3 | 35 | << d,b
+-----+-----+-----+-----+
| a | c | 2 | 40 | << a,c
+-----+-----+-----+-----+
+-----+-----+-----+-----+-----+
| A | B | C3 | C4 | C5 |
+=====+=====+=====+=====+=====+
| a | b | 100 | 50 | 30 | << a,b
+-----+-----+-----+-----+-----+
| a | c | 60 | 0 | 0 | << a,c
+-----+-----+-----+-----+-----+
| d | b | 35 | 0 | 0 | << d,b
+-----+-----+-----+-----+-----+
SELECT A, B,
sum(if(C=3, D, NULL)) as C3,
sum(if(C=4, D, NULL)) as C4,
sum(if(C=5, D, NULL)) as C5
FROM yourTable
GROUP BY A, B;