查询数据表数据:
SELECT * FROM test_tb_grade;
效果如下所示
实现行转列
-- 实现行转列
-- 先分组
-- 拿名字
-- 拿张三、、、的数学成绩最大值
SELECT user_name ,
MAX(CASE course WHEN '数学' THEN score ELSE 0 END ) 数学,
MAX(CASE course WHEN '语文' THEN score ELSE 0 END ) 语文,
MAX(CASE course WHEN '英语' THEN score ELSE 0 END ) 英语,
sum(score) 总分
FROM test_tb_grade
GROUP BY USER_NAME;
效果如下所示: