-----------原表------------------- student classes score 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 ---------------------------------- --1、pivot SELECT tt.student '姓名',tt.语文,tt.数学,tt.物理 FROM sco AS tt1 PIVOT (SUM(score) FOR classes IN (语文,数学,物理)) AS tt; --2、 SELECT student '姓名', MAX(CASE WHEN classes = '语文' THEN score ELSE 0 END) '语文', MAX(CASE WHEN classes = '数学' THEN score ELSE 0 END) '数学', MAX(CASE WHEN classes = '物理' THEN score ELSE 0 END) '物理' FROM sco GROUP BY student --执行结果 ------------------------------ 姓名 语文 数学 物理 张三 74 83 93 张三 74 83 93 -------------------------------