我有一张这样的表:

 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。

最佳答案

SELECT `num`,
    SUM(type = 1) as `1`,
    SUM(type = 2) as `2`,
    SUM(type = 3) as `3`
FROM `your_table`
GROUP BY `num`

关于mysql - Sql - 计入多列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11240357/

10-12 13:08