【发布时间】:2020-02-07 07:48:38
【问题描述】:
我正在尝试组合“黄色”和“蓝色”字段并将其重命名为“绿色”。然后显示每个颜色类别中的粉丝数 - 绿色红色白色。
来自数据库'House'的样本
|fan_id| Color|
---------------
1 Yellow
2 Red
3 Blue
4 White
5 Blue
6 Yellow
预期结果:
|fan.id| Color|
---------------
4 Green
1 Red
1 White
这是我关于这个问题的代码;但是,它似乎仍在蓝色和黄色列上保持标签,因为我看到“0”从结果中弹出。我不确定如何获得像预期结果一样的输出。
SELECT COUNT(fan.id) AS Total,
SUM(case when Color = "Yellow" OR Color = "Blue" then 1 else 0 end) as Green,
SUM(case when Color = "Red" then 1 else 0 end),
SUM(case when Color = "White" then 1 else 0 end)
FROM House
GROUP BY Color;
输出:
'''
|Total|Green|Red|White
------------------------
2 | 2 | 0| 0
1 | 0 | 1| 0
2 | 2 | 0| 0
1 | 0 | 0| 1
【问题讨论】:
标签: mysql sql group-by permutation