PIVOT函数用于转置数据,即用旋转表的方式把行换成列。PIVOT可以将表中的列换成行

如下面的例子:

CREATE TABLE Sales.SalesByMonth
(year char(4),month char(3),amount MONEY,PRIMARY KEY(year,month)
)INSERT INTO Sales.SalesByMonth(year,month,amount)
values('2007','Jan',789.0000),('2007','Feb',389.0000),('2007','Mar',8867.0000),('2007','Apr',778.0000),('2007','May',78.0000),('2007','Jun',9.0000),('2007','Jul',987.0000),('2007','Aug',866.0000),('2007','Sep',7787.0000),('2007','Oct',85576.0000),('2007','Nov',855.0000),('2007','Dec',5875.0000),('2008','Jan',7.0000),('2008','Feb',6868.0000),('2008','Mar',688.0000),('2008','Apr',9897.0000)SELECT YEAR,SUM(case when month='Jan' then amount else 0 end) as 'Jan',SUM(case when month='Feb' then amount else 0 end) as 'Feb',SUM(case when month='Mar' then amount else 0 end) as 'Mar',SUM(case when month='Apr' then amount else 0 end) as 'Apr',SUM(case when month='May' then amount else 0 end) as 'May',SUM(case when month='Jun' then amount else 0 end) as 'Jun',SUM(case when month='Jul' then amount else 0 end) as 'Jul',SUM(case when month='Aug' then amount else 0 end) as 'Aug',SUM(case when month='Sep' then amount else 0 end) as 'Sep',SUM(case when month='Oct' then amount else 0 end) as 'Oct',SUM(case when month='Nov' then amount else 0 end) as 'Nov',SUM(case when month='Dec' then amount else 0 end) as 'Dec'
FROM Sales.SalesByMonth
group by year     select YEAR,[Jan],[Feb],[Mar],[Apr],[May],[Jun],[Jul],[Aug],[Sep],[Oct],[Nov],[Dec]
FROM (Select YEAR,amount,month from Sales.SalesByMonth) as SalesByMonth pivot (sum(amount) for month in ([Jan],[Feb],[Mar],[Apr],[May],[Jun],[Jul],[Aug],[Sep],[Oct],[Nov],[Dec])) as ourPivot
order by year

显示结果为:

如果去掉year选项,语句改为:

select [Jan],[Feb],[Mar],[Apr],[May],[Jun],[Jul],[Aug],[Sep],[Oct],[Nov],[Dec]
FROM (Select amount,month from Sales.SalesByMonth) as SalesByMonth pivot (sum(amount) for month in ([Jan],[Feb],[Mar],[Apr],[May],[Jun],[Jul],[Aug],[Sep],[Oct],[Nov],[Dec])) as ourPivot

则显示结果:

SQL SERVER 2008的转置函数PIVOT相关推荐

  1. SQL Server 2008中的Pivot和UnPivot

    SQL Server 2008中SQL应用系列--目录索引 今天给新成员讲解PIVOT 和 UNPIVOT示例,顺便整理了一下其用法.这是自SQL Server 2005起提供的新功能. 官方示例:h ...

  2. SQL SERVER 2008中用C#定义压缩与解压缩函数

    下面用C#2010定义一个函数,供SQL SERVER 2008使用: 下面是压缩函数 1 using System.Data.SqlClient; 2 using System.Data.SqlTy ...

  3. SQL Server 2008空间数据应用系列四:基础空间对象与函数应用

    SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 原文:SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 友情提示,您阅读本篇博文的先决条件如下: 1. ...

  4. 使用一下SQL Server 2008中的新日期函数

    在我们开始讨论SQL Server 2008中新的日期数据类型之前,先来回顾一下SQL Server 2005中以及更老版本中提供的两种日期数据类型,这些旧的数据类型是DATETIME和SMALLDA ...

  5. SQL Server 2008 创建标量值函数、存储过程

    在运用数据库的过程中,需要用到标量值函数以及存储过程. 仅以SQL Server 2008为例,对标量值函数以及存储过程的流程进行说明(标量值函数以及存储过程当中的代码不在这里讲述) 标量值函数 打开 ...

  6. SQL Server 2008/2012中SQL应用系列及BI学习笔记系列--目录索引

    SQL Server 2008中的一些特性总结及BI学习笔记系列,欢迎与邀月交流. 3w@live.cn  ◆0.SQL应用系列 1.SQL Server 2008中SQL增强之一:Values新用途 ...

  7. SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月

    邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...

  8. 《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(10)

    <Microsoft Sql server 2008 Internals>读书笔记订阅地址: http://www.cnblogs.com/downmoon/category/230397 ...

  9. Analysis Services基础知识——深入SQL Server 2008

    Analysis Services基础知识 --深入SQL Server 2008 这一节中,我们将介绍Analysis Services的体系结构,这个体系结构在SQLServer2005中建立,并 ...

最新文章

  1. 2022-2028年中国石油套管行业市场研究及前瞻分析报告
  2. 【 hdu3949 XOR】
  3. java集合框架05——ArrayList和LinkedList的区别
  4. 配置mysql 问题解决
  5. JavaScript重难点解析6(Promise)
  6. 华为交换机VLAN的配置和实施
  7. java 8 新特性 时间api使用实例
  8. mnist 转图像_解决MNIST图像分类问题
  9. 分享一个Latex一页纸简历模板(中英文)
  10. 基于Neo4j图数据库的反欺诈模型初探1
  11. Java并发练习:exchange简单使用
  12. 阿里云配置服务器,短信,域名
  13. 怎么查找无线的dns服务器,无线找不到服务器dns地址
  14. win7 查看php版本信息,window_Windows系统版本怎么看?2种查看windows版本的方法介绍,前段时间微软正式开始向Win7和 - phpStudy...
  15. IT耳朵IT桔子:2017年人工智能行业发展研究报告白皮书
  16. localtime和localtime_r
  17. vbs小游戏(猜字谜)
  18. 数字信号分析学习思想整理 | 基本框架
  19. 第29届奥运会中国代表团夺金榜
  20. 交换机下配置banner login是做什么的

热门文章

  1. java 查找链表中间元素,如何找到链表的中间节点?
  2. join丢失数据_15、Hive数据倾斜与解决方案
  3. python装饰器 廖雪峰_python装饰器的一个妙用
  4. html5表单的css修饰,如何使用CSS3美化HTML5表单
  5. java实现所有括号组合的遍历_括号正确嵌套问题的实现(Java)
  6. parallelstudio license 位置_UAV位置测量仪器Apogee-D Dual GPS INS
  7. 浙江大学_包家立计算生物学_神经网络
  8. securerandom java_Java 随机数 Random VS SecureRandom
  9. R语言的常用函数速查
  10. 贝叶斯集锦:MCMCpack包