sql sum(case when else end) 。。。group by。。。实现行转列

SELECT
    学生姓名,
    学生学科,
    成绩
FROM tb_StuScore10

--在学生成绩信息表中tb_StuScore10实现行转列
SELECT
    学生姓名,
    SUM(CASE 学生学科
        WHEN '语文' THEN 成绩 ELSE NULL
    END) AS 语文,
    SUM(CASE 学生学科
        WHEN '外语' THEN 成绩 ELSE NULL
    END) AS 英语,
    SUM(CASE 学生学科
        WHEN '数学' THEN 成绩 ELSE NULL
    END) AS 数学
FROM tb_StuScore10
GROUP BY 学生姓名
GO

sql sum(case when else end) 。。。group by。。。实现行转列

注意:Group By 有减少行的作用,sum作为一个自增列,多几个sum,就多几个列