博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 行转列
阅读量:4330 次
发布时间:2019-06-06

本文共 759 字,大约阅读时间需要 2 分钟。

1.表数据

2.结果数据

CREATE TABLE `TEST_TB_GRADE` (  `ID` int(10) NOT NULL AUTO_INCREMENT,  `USER_NAME` varchar(20) DEFAULT NULL,  `COURSE` varchar(20) DEFAULT NULL,  `SCORE` float DEFAULT '0',  PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into TEST_TB_GRADE(USER_NAME, COURSE, SCORE)  values("张三", "数学", 34),("张三", "语文", 58),("张三", "英语", 58),("李四", "数学", 45),("李四", "语文", 87),("李四", "英语", 45),("王五", "数学", 76),("王五", "语文", 34),("王五", "英语", 89);

行转列SQL:

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 ) 英语FROM test_tb_gradeGROUP BY USER_NAME;

 参考:

转载于:https://www.cnblogs.com/zgzf/p/10902037.html

你可能感兴趣的文章
Android 动态显示和隐藏软键盘
查看>>
raid5什么意思?怎样做raid5?raid5 几块硬盘?
查看>>
【转】how can i build fast
查看>>
null?对象?异常?到底应该如何返回错误信息
查看>>
django登录验证码操作
查看>>
(简单)华为Nova青春 WAS-AL00的USB调试模式在哪里开启的流程
查看>>
图论知识,博客
查看>>
[原创]一篇无关技术的小日记(仅作暂存)
查看>>
20145303刘俊谦 Exp7 网络欺诈技术防范
查看>>
原生和jQuery的ajax用法
查看>>
iOS开发播放文本
查看>>
20145202马超《java》实验5
查看>>
JQuery 事件
查看>>
main(argc,argv[])
查看>>
在线教育工具—白板系统的迭代1——bug监控排查
查看>>
121. Best Time to Buy and Sell Stock
查看>>
hdu 1005 根据递推公式构造矩阵 ( 矩阵快速幂)
查看>>
安装php扩展
查看>>
百度移动搜索主要有如下几类结果构成
查看>>
Python爬虫面试题170道:2019版【1】
查看>>