Sql - 计入多个列

时间:2012-06-28 07:57:49

标签: mysql sql

我有一张这样的表:

 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。

1 个答案:

答案 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`