sql 编写横竖表转换

Posted 钟政123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 编写横竖表转换相关的知识,希望对你有一定的参考价值。

将横表转为竖表,基本思想是:

  1)将横表的多条数据,"压"成一条.相当于将这么多条分组,每组"压"成一条数据.利用group by

  2) 再对竖表中的列,由特定行的数据填充,利用case when ‘a‘ then ‘b‘ else 没有用的值 end,为了过滤一些没有用的数据,常用的函数有max(), sum()

ps:如果没有聚合函数帅选.数据库会把第一个数据返回给你,基本就是刚刚你填写"没有用的值" 

下面是例子:

SELECT NAME ,MAX(CASE SUBJECT when 语文 THEN Result ELSE 0 END ) 语文,
MAX(CASE SUBJECT WHEN 数学 THEN Result ELSE 0 END) 数学,
MAX(CASE SUBJECT WHEN 物理 THEN Result ELSE 0 END) 物理
from tb
GROUP BY `Name`

得到结果是

技术分享

 

以上是关于sql 编写横竖表转换的主要内容,如果未能解决你的问题,请参考以下文章

Oracle横竖转换怎么做

unity发布到手机端中如何转换横竖屏

iOS 工程默认只允许竖屏,在单独界面进行横竖转换,屏幕旋转

iOS_21团购_Popover适应iPad横竖屏切换

编写 SQL 查询将表从 A 转换为 B

SQL语句优化系列二(编写最优的SQL语句)