PIVOT用于将行转为列,完整语法如下:

TABLE_SOURCE

PIVOT(

聚合函数(value_column)

FOR pivot_column

IN(<column_list>)
)

UNPIVOT用于将列转为行,完整语法如下:
完整语法:
TABLE_SOURCE

UNPIVOT(

value_column

FOR pivot_column

IN(<column_list>)
)

以上语法可以理解为value_column字段与pivot_column字段的行列(列行)转换,pivot_column字段显示的列/行为column_list

--建张表Table_A

create table Table_A(name varchar(8),Math int,English int,Chinese int)
insert into Table_A values('小A',80,90,88)
insert into Table_A values('小B',70,90,85)
insert into Table_A values('小C',75,95,85)
insert into Table_A values('小D',80,90,75)

--原始表数据

select * from Table_A

name Math English Chinese
小A 80 90 88
小B 70 90 85
小C 75 95 85
小D 80 90 75

--UNPIVOT用于将列转为行

select Subject,name,Grade from Table_A
unpivot(Grade for Subject in ([Math],[English],[Chinese])) as s

Subject name Grade
Math 小A 80
English 小A 90
Chinese 小A 88
Math 小B 70
English 小B 90
Chinese 小B 85
Math 小C 75
English 小C 95
Chinese 小C 85
Math 小D 80
English 小D 90
Chinese 小D 75

--PIVOT函数用于将行转为列

select * from
(
    select Subject,name,Grade from Table_A
    unpivot(Grade for Subject in ([Math],[English],[Chinese])) as s
) as a
pivot(sum(Grade) for name in ([小A],[小B],[小C],[小D])) as b

Subject 小A 小B 小C 小D
Chinese 88 85 85 75
English 90 90 95 90
Math 80 70 75 80

实现多行多列转换,请参考:http://www.cnblogs.com/hbwy/p/4359209.html

最新文章

  1. Json对象与Json字符串互转(4种转换方式)
  2. linux网络配置命令
  3. c# 高效读写文件
  4. ubuntu使用
  5. 分析实现Android自定义View之扇形图
  6. ,2,liunx命令格式
  7. HDU 2717 Catch That Cow --- BFS
  8. Hibernate 报错org.hibernate.PropertyAccessException: IllegalArgumentException(已解决)
  9. CentOS rc.local 不执行的问题
  10. Sicily 4495. Print permutations
  11. linux杂记(八)linux压缩与打包
  12. read cache return null
  13. wcf发布的服务在前端调用时,遇到跨域问题的解决方案
  14. 购物篮算法的理解-基于R的应用
  15. Node: 如何控制子进程的输出
  16. The declared package does not match the expected package Java
  17. python的pyspider框架下爬虫
  18. 让NotePad++添加到右键快捷方式
  19. PHP字符串位置相关的函数
  20. hightcharts 如何修改legend图例的样式

热门文章

  1. Linux压缩打包方法连载之三:bzip2, bzcat 命令
  2. MySQL 四种链接
  3. samba和SELINUX 冲突
  4. 异步消息框架netty
  5. Java标记接口
  6. UVA10212 【The Last Non-zero Digit.】
  7. Python模块Pygame安装
  8. 文件下载功能django+js
  9. COLLATE CHINESE_PRC_CI_AS_WS 的含义
  10. MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系