倒置 mysql_SQL Server中的行列倒置技巧
行列倒置在sql server中是一种很常见的技巧,在做应用系统的时候,经常需要做一些统计功能避免不了使用行列倒置这个技巧,我小小的做了一下总结: 第一种:sql server 2000中使用case进行行列倒置 create table RowCellConvertTest ( grade varchar(50), sex
行列倒置在sql server中是一种很常见的技巧,在做应用系统的时候,经常需要做一些统计功能避免不了使用行列倒置这个技巧,我小小的做了一下总结:
第一种:sql server 2000中使用case进行行列倒置
create table RowCellConvertTest
(
grade varchar(50),
sex varchar(50),
studentCount int
)
go
insert into RowCellConvertTest
select '一年级','男',100 union all
select '一年级','女',200 union all
select '二年级','男',100 union all
select '二年级','女',100 union all
select '三年级','男',200 union all
select '三年级','女',200
go
select * from RowCellConvertTest
go
--利用SQL Server 2000的case将行转换成列
declare @sql varchar(max)
set @sql = 'select grade'
select @sql=@sql+ ',sum(case when sex = '''+sex+''' then studentCount else '''' end) as '''+sex+'''' from RowCellConvertTest group by sex
--select @sql = substring(@sql,2,len(@sql))
--print @sql
select @sql = @sql +'from RowCellConvertTest group by grade'
exec(@sql)
go
drop table RowCellConvertTest
go
效果:
第二种:
--利用SQL Server 2005新特性pivot将行转换成列
select grade,男,女
from
(
select studentCount, sex, grade from RowCellConvertTest
) p
PIVOT
(
sum (studentCount)
FOR sex IN
(男,女)
) AS pvt
ORDER BY pvt.grade;
附加:将列转换成行
--将列转换成行
create table CellRowConvertTest
(
grade varchar(50),
男 varchar(50),
女 varchar(50)
)
go
insert into CellRowConvertTest
select '一年级',100,200 union all
select '二年级',100,100 union all
select '三年级',200,200
go
select * from CellRowConvertTest
go
select grade,sex,studentCount
from
(
select grade,男,女 from CellRowConvertTest
) as p
unpivot
(
studentCount for sex in (男,女)
) as unpvt;
go
drop table CellRowConvertTest
go
效果:
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
倒置 mysql_SQL Server中的行列倒置技巧相关推荐
- SQL Server中Rollup关键字使用技巧 (转)
首先创建测试表.添加数据. create table #t(a int,b int,c int,d int,e int) insert into #t values(1,2,3,4,5) insert ...
- SQL Server中Rollup关键字使用技巧
首先创建测试表.添加数据. create table #t(a int,b int,c int,d int,e int) insert into #t values(1,2,3,4,5) insert ...
- [转] SQL Server中的行列转换问题
原表结构 序号 性别 部门 工资 1 男 部门a 800 2 女 部门b 900 3 男 部门a 400 4 女 部门d 1400 5 男 部门e 1200 6 男 部门f 500 7 女 部门a ...
- 依赖倒置 php,PHP中的依赖倒置原则
PHP 5引入了"类型提示",它使函数和方法能够声明"类型化"参数(对象).对于大多数情况,端口示例应该不是一项大任务,例如从Java到PHP 5. 一个非常简 ...
- SQL Server中行列转换 Pivot UnPivot (转载)
SQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIV ...
- 一维数组元素倒置 c语言,实例12 数组中元素的倒置.pdf
第1 篇 C 语言基础知识 第1 章 走入C 语言的世界 实例12 数组中元素的倒置 [实例描述] 让一维数组中的元素转置,也就是让数组的元素本末倒置,即第 一个元素变成最后一个元素,第二个元素变成倒 ...
- SQL Server中的查询优化技术:提示和技巧
描述 (Description) Fixing bad queries and resolving performance problems can involve hours (or days) o ...
- 依赖倒置原则——举例说明Java设计模式中的依赖倒置原则
依赖倒置原则--举例说明Java设计模式中的依赖倒置原则 一.前言 看官方定义 二.举例说明 2.1 例子介绍(无聊的可看看,着急的请跳过) 2.2 反例 2.1.1 反例1 (1)类图说明 (2)代 ...
- SQL Server中的小技巧(重复、替换、截取、去空格、去小数点后的位数)
PS:随笔写的在SQL Server中要用到的 (重复.替换.截取.去空格.去小数点后的位数) /*---------------------------重复--------------------- ...
最新文章
- 阿里老员工吐槽:新员工水平差!不服管理!还不加班!我要汇报经理让对方无法转正!...
- WPF-数据绑定:日期时间格式
- websocket在.net4.5中实现的简单demo
- 第六天学习Java的笔记(循环语句)
- vue前端架构文档_Dubbo分布式架构搭建教育PC站-Vue前端:课程和登录页
- php源码微信快速登陆,PHP实现微信开放平台扫码登陆源码下载
- 10-ESP8266 SDK开发基础入门篇--上位机通过串口控制ESP8266灯亮灭
- 索尼推出 PlayStation 漏洞奖励计划,最严重漏洞5万美元起步
- 谷歌浏览器截图_谷歌浏览器如何截图?
- VC2015运行库安装失败
- 十大排行优惠券app,哪个更适合
- webrtc QOS方法一(NACK实现)
- 求椭圆的切线方程------很有对称美
- STM8和STM32开发总结
- 添加虚拟机镜像centso 8的步骤
- C++计算机软件系统
- Windows系统提示“telnet不是内部或外部命令,也不是可运行的程序或批处理文件”怎么办?
- 3.5Redis的性能问题
- 《Patterns, Principles, and Pract》— chapter15 Value Objects
- linux系统查看系统配置
热门文章
- python读取csv文件制图-python读取CSV文件
- ubuntu查看python版本-Ubuntu18.04下python版本完美切换的解决方法
- python循环语句-python循环语句(第十节)
- python整理excel数据-Python 自动整理 Excel 表格
- SPOJ Pattern Find(Rabin Karp)
- guava之Stopwatch
- CheckBox的使用(四):ListView中的项设置为可以多选
- 题目1493:公约数
- 调试兼容性该注意的的点
- 次小生成树(Prim + Kruaskal)