行转列
– 创建学生信息表,完成学生信息分析
– 创建表
CREATE TABLE students_score(`cname` VARCHAR(10),cource VARCHAR(10),score INT)
ENGINE=INNODB; -- 插入数据
INSERT INTO tb VALUES('张三','语文',74);
INSERT INTO tb VALUES('张三','数学',83);
INSERT INTO tb VALUES('张三','物理',93);
INSERT INTO tb VALUES('李四','语文',74);
INSERT INTO tb VALUES('李四','数学',84);
INSERT INTO tb VALUES('李四','物理',94);
原始数据表输出格式如下图。
SELECT cname 姓名,SUM(CASE cource WHEN '语文' THEN score END )'语文',
SUM(CASE cource WHEN '数学' THEN score END ) '数学',
SUM(CASE cource WHEN '物理' THEN score END )'物理' FROM students_score GROUP BY cname ;
//第二种写法
SELECT cname 姓名,CASE WHEN cource='语文' THEN cource=score END AS '语文' FROM students_score