MySQL行转列
来源:互联网 发布:淘宝差评可以改好评吗 编辑:程序博客网 时间:2024/05/22 13:24
MySQL行转列
一、新建成绩测试表:
CREATE TABLE `score` ( `student_no` varchar(13) DEFAULT NULL COMMENT '学号', `subject_no` varchar(20) DEFAULT NULL COMMENT '科目', `score` int(3) DEFAULT NULL COMMENT '成绩') ENGINE=InnoDB DEFAULT CHARSET=utf8;
二、创建存储过程批量插入测试数据:
delimiter //CREATE PROCEDURE pro_insert()BEGIN DECLARE num int; SET num =1;WHILE num <10000 DO INSERT INTO score (student_no,subject_no,score) VALUES (CONCAT('00',num),'语文',FLOOR(70+RAND()*30)), (CONCAT('00',num),'数学',FLOOR(70+RAND()*30)), (CONCAT('00',num),'英语',FLOOR(70+RAND()*30)); SET num=num+1;END WHILE;end;//
三、查询执行结果:
四、利用case when then end 将数据行转列
SELECT student_no, MAX(CASE subject_no WHEN '语文' THEN score else 0 END) AS 语文, MAX(CASE subject_no WHEN '数学' THEN score else 0 END) AS 数学, MAX(CASE subject_no WHEN '英语' THEN score else 0 END) AS 英语FROM scoreGROUP BY student_no;
转换后结果:
阅读全文
0 0
- mysql 行转列
- mysql 行转列
- MySQL行转列
- mysql 行转列
- Mysql 行转列
- Mysql行转列
- mysql 行转列
- mysql 行转列
- mysql 行转列
- mysql 行转列
- Mysql 行转列
- mysql 行转列
- mysql 行转列
- mysql 行转列
- mysql 行转列
- Mysql行转列
- mysql行转列
- mysql 行转列
- BZOJ 2055: 80人环游世界 有源汇上下界费用流
- Android应用流量统计
- [python]回溯法模板
- MFC计算机图形学(1)
- 918知道了几个新的概念
- MySQL行转列
- React Native 入门(一)
- 删除主键的时候,索引是否删除
- 像素间的关系(邻接/连通)
- 第十九章——UIGestureRecognizer 和 UIMenuController
- 用JAVA,jdbc连接数据库
- opencv实现opencv3.3.0的DNN模块功能
- Java的四种引用,强弱软虚,用到的场景
- jQuery的基本用法