如何在同一列上合并并重命名两个字段名称并显示结果?

问题描述 投票:0回答:1

我正在尝试将字段“黄色和蓝色”组合起来,并将其重命名为“绿色”。然后显示每个颜色类别中的风扇数量-绿色红色白色。

来自数据库“房屋”的样本

|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
1个回答
0
投票

您似乎想要简单的聚合:

select color, count(*) 
from house
where color in ('Green', 'Red', 'White')
group by color
© www.soinside.com 2019 - 2024. All rights reserved.