数据库实现行列转换(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 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短