如果我有这样的数据表
name | type | count
test | blue | 6
test2 | red | 3
test | red | 4
我如何查询它以获得一张表:
name | num_red | num_blue
test | 4 | 6
test2 | 3 | 0
我当然可以选择count(*),其中type = blue等,但我想不出如何在一个查询中计算多个类型,如下所示。
谢谢!
答案 0 :(得分:5)
您可以在select子句中使用CASE
。
SELECT name,
SUM(CASE WHEN type = 'red' THEN "count" ELSE 0 END) numred,
SUM(CASE WHEN type = 'blue' THEN "count" ELSE 0 END) numblue
FROM tableName
GROUP BY name