SQL SERVER 2008的转置函数PIVOT
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相关推荐
- SQL Server 2008中的Pivot和UnPivot
SQL Server 2008中SQL应用系列--目录索引 今天给新成员讲解PIVOT 和 UNPIVOT示例,顺便整理了一下其用法.这是自SQL Server 2005起提供的新功能. 官方示例:h ...
- SQL SERVER 2008中用C#定义压缩与解压缩函数
下面用C#2010定义一个函数,供SQL SERVER 2008使用: 下面是压缩函数 1 using System.Data.SqlClient; 2 using System.Data.SqlTy ...
- SQL Server 2008空间数据应用系列四:基础空间对象与函数应用
SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 原文:SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 友情提示,您阅读本篇博文的先决条件如下: 1. ...
- 使用一下SQL Server 2008中的新日期函数
在我们开始讨论SQL Server 2008中新的日期数据类型之前,先来回顾一下SQL Server 2005中以及更老版本中提供的两种日期数据类型,这些旧的数据类型是DATETIME和SMALLDA ...
- SQL Server 2008 创建标量值函数、存储过程
在运用数据库的过程中,需要用到标量值函数以及存储过程. 仅以SQL Server 2008为例,对标量值函数以及存储过程的流程进行说明(标量值函数以及存储过程当中的代码不在这里讲述) 标量值函数 打开 ...
- SQL Server 2008/2012中SQL应用系列及BI学习笔记系列--目录索引
SQL Server 2008中的一些特性总结及BI学习笔记系列,欢迎与邀月交流. 3w@live.cn ◆0.SQL应用系列 1.SQL Server 2008中SQL增强之一:Values新用途 ...
- SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月
邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...
- 《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(10)
<Microsoft Sql server 2008 Internals>读书笔记订阅地址: http://www.cnblogs.com/downmoon/category/230397 ...
- Analysis Services基础知识——深入SQL Server 2008
Analysis Services基础知识 --深入SQL Server 2008 这一节中,我们将介绍Analysis Services的体系结构,这个体系结构在SQLServer2005中建立,并 ...
最新文章
- 2022-2028年中国石油套管行业市场研究及前瞻分析报告
- 【 hdu3949 XOR】
- java集合框架05——ArrayList和LinkedList的区别
- 配置mysql 问题解决
- JavaScript重难点解析6(Promise)
- 华为交换机VLAN的配置和实施
- java 8 新特性 时间api使用实例
- mnist 转图像_解决MNIST图像分类问题
- 分享一个Latex一页纸简历模板(中英文)
- 基于Neo4j图数据库的反欺诈模型初探1
- Java并发练习:exchange简单使用
- 阿里云配置服务器,短信,域名
- 怎么查找无线的dns服务器,无线找不到服务器dns地址
- win7 查看php版本信息,window_Windows系统版本怎么看?2种查看windows版本的方法介绍,前段时间微软正式开始向Win7和 - phpStudy...
- IT耳朵IT桔子:2017年人工智能行业发展研究报告白皮书
- localtime和localtime_r
- vbs小游戏(猜字谜)
- 数字信号分析学习思想整理 | 基本框架
- 第29届奥运会中国代表团夺金榜
- 交换机下配置banner login是做什么的
热门文章
- java 查找链表中间元素,如何找到链表的中间节点?
- join丢失数据_15、Hive数据倾斜与解决方案
- python装饰器 廖雪峰_python装饰器的一个妙用
- html5表单的css修饰,如何使用CSS3美化HTML5表单
- java实现所有括号组合的遍历_括号正确嵌套问题的实现(Java)
- parallelstudio license 位置_UAV位置测量仪器Apogee-D Dual GPS INS
- 浙江大学_包家立计算生物学_神经网络
- securerandom java_Java 随机数 Random VS SecureRandom
- R语言的常用函数速查
- 贝叶斯集锦:MCMCpack包