首页 > 解决方案 > 如屏幕截图中所述,我想在 SQL 中创建一个数据透视表

问题描述

在此处输入图像描述]

在图像中,我们有一个表,我们应该在 SQL 中使用 PIVOT 函数来获得原始表下方显示的确切输出。我已经尝试过了,但无法得到它。有人可以帮忙吗!!

标签: mysqlsqlpivotaggregate-functions

解决方案


您可以使用条件聚合:

select name,
    max(case when grade = 1 then marks end) as grade1,
    max(case when grade = 2 then marks end) as grade2,
    max(case when grade = 3 then marks end) as grade3
from mytable
group by name

推荐阅读