4

我有一张这样的桌子:

 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。

4

1 回答 1

7
SELECT `num`,
    SUM(type = 1) as `1`, 
    SUM(type = 2) as `2`, 
    SUM(type = 3) as `3`
FROM `your_table`
GROUP BY `num`
于 2012-06-28T08:01:14.193 回答