我有一张这样的表:
num | type
-----+------
123 | 3
123 | 2
123 | 3
123 | 2
124 | 3
124 | 1
124 | 3
124 | 3
我希望按num
列进行分组,并有一列计算每种不同的类型(我事先知道所有可能的值)。所以我会得到:
num | 1 | 2 | 3
-----+---+---+---
123 | 0 | 2 | 2
124 | 1 | 0 | 3
这可能与SQL有关吗?我正在使用MySql。
答案 0 :(得分:7)
SELECT `num`,
SUM(type = 1) as `1`,
SUM(type = 2) as `2`,
SUM(type = 3) as `3`
FROM `your_table`
GROUP BY `num`