将数据表中数据分组后将数据由列转换为行显示

  • 亚历山高
  • 2023-12-19
  • 177 人已阅读

如下表,将其进行转换,以姓名进行分组,将其他数据由列转换为行,进形分组显示,并统计每个人的总数量:

image.png

SQL代码如下:

SELECT 

    姓名,

    MAX(CASE WHEN 级别 = '低' THEN 数量 END) AS 低,

    MAX(CASE WHEN 级别 = '中' THEN 数量 END) AS 中,

    MAX(CASE WHEN 级别 = '高' THEN 数量 END) AS 高,

    SUM(数量) as 总数量  

FROM 数据表

GROUP BY 姓名


效果如下:

image.png


Top