Sql的行列转换
2018-09-10 12:28
155 查看
创建表scores
一、传统的行列转换
纵表转横表
我们要转成的横表是这样子的:
pivot是sql server 2005 提供的运算符,所以只要数据库在05版本以上的都可以使用。主要用于行和列的转换。
pivot纵表转横表
select
t2.姓名,
t2.数学,
t2.物理,
t2.语文
from Scores as t1
pivot (sum(分数) for 课程 in(数学,语文,物理)) as t2
pivot将原来表中 课程字段中的 数据行 数学,语文,物理 转换为列,并用sum取对应列的值。
unpivot 横表转纵表
select * from scores2 unpivot (分数 for 课程 in (语文,数学,物理)) as t3
unpivot 将 语文,数学,物理 列转为行,分数为新的一列存放对应的值。
相关文章推荐
- SQL行列转换实战
- 行列转换等经典SQL语句
- SQL行列转换:报表_公司采购表_每个公司各采购了些什么产品
- SQL:行列转换
- sql 行专列 列转行 普通行列转换
- 锋利的SQL-SQL Server的表旋转(行列转换)
- 一个简单的SQL 行列转换
- SQL行列转换
- 行列转换sql_server脚本
- 行列转换等经典SQL语句
- MS-SQL 行列转换
- 行列转换等经典SQL语句
- sql 行列转换
- 每日学习心得:SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)
- 一段行列转换的SQL代码
- SQL查询案例:行列转换[行转列, 使用 CASE WHEN 处理]
- (转)sql 行专列 列转行 普通行列转换
- sql行列转换问题
- SQL行列转换,PIVOT与UNPIVOT的区别和使用方法举例
- SQL 行列转换数据转换为字符串