数据库实现行列转换(mysql示例)
这篇文章通过sql示例代码给大家介绍了mysql数据库如何实现行列转换,下面话不多说,直接来看示例代码吧。
原表:
表名:user ---------------------------------------- name|course|grade ---------------------------------------- zhangsan|Java|70 ---------------------------------------- zhangsan|C++|80 ---------------------------------------- lisi|java|90 ---------------------------------------- lisi|C#|60 ----------------------------------------
用一条SQL语句得到如下形式:
---------------------------------------- name|java|C++|C# ---------------------------------------- zhangsan|70|80|null ---------------------------------------- lisi|90|null|60 ----------------------------------------
方案一
selectname, sum(casewhencourse='java'thengradeend)asjava, sum(casewhencourse='C++'thengradeend)asC++, sum(casewhencourse='C#'thengradeend)asC# fromtestgroupbyname
方案二
selectdistinctc.`name`ASname, (selectgradefromtestwherename=c.`name`andcourse='java')asjava, (selectgradefromtestwherename=c.`name`andcourse='C++')asC++, (selectgradefromtestwherename=c.`name`andcourse='C#')asC# fromtestc
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能有一定的帮助,如果有疑问大家可以留言交流。
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短