【转】SQLServer 行列互换

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

http://www.cnblogs.com/NewLand/archive/2007/09/03/880540.html

ExpandedBlockStart.gif
--行列互换

Use tempdb
Go

 
Create   table   test   ( [name] char(10), km char(10)   , cj int )
 
Go
 
--初始化数据
 insert   into   test   values('张三','语文',80)
 
insert   into   test   values('张三','数学',86)
 
insert   into   test   values('张三','英语',75)
 
insert   into   test   values('李四','语文',78)
 
insert   into   test   values('李四','数学',85)
 
insert   into   test   values('李四','英语',78)
 
Go

select name,sum(case km when '语文' then cj  endas 语文,
 
sum(case km when '数学' then cj  endas 数学,
 
sum(case km when '英语' then cj  endas 英语
 
from test
 
group by name
欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2009/03/22/1418758.html
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
SQL 索引 存储
SQL Server SQL性能优化之--pivot行列转换减少扫描计数优化查询语句
原文:SQL Server SQL性能优化之--pivot行列转换减少扫描计数优化查询语句 原文出处:http://www.cnblogs.com/wy123/p/5933734.html     先看常用的一种表结构设计方式:   那么可能会遇到一种典型的查询方式,主子表关联,查询子表中的某些(或者全部)Key点对应的Value,横向显示(也即以行的方式显示)   这种查询方式很明显的一个却显示多次对字表查询(暂时抛开索引)   相比这种查询方式很多人都遇到过,如果子表是配置信息之类的小表的话,问题不大,如果字表数据量较大,可能就会有影响了。
1164 0
|
SQL 数据库 关系型数据库
|
SQL XML BI
在Sqlserver下巧用行列转换日期的数据统计
原文:在Sqlserver下巧用行列转换日期的数据统计                  在Sqlserver下巧用行列转换日期的数据统计   前言     在SQLSERVER 中有很多统计函数的基础语法,有使用Group By 或 partition by 后配合Sum,Count(*) 等用法。
1251 0
|
SQL Go 数据库
SQL Server中行列转换 Pivot UnPivot
原文:SQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P 完整语法: table_s...
1610 0
|
SQL Go
SQL Server中行列转换
转自http://www.cnblogs.com/zhangzt/archive/2010/07/29/1787825.htmlSQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CAS...
950 0
|
SQL
SQL Server2005杂谈(1):将聚合记录集逆时针和顺时针旋转90度(行列互换)
本文为原创,如需转载,请注明作者和出处,谢谢!     在输出统计结果时可能需要将列变成行,而将聚合结果(如count、sum)作为记录的第一行,先看如下的SQL语句: declare @t table(name varchar(20))insert @tselect 'abc' union allselect 'xxx' union allselect 'xxx' union allselect 'ttt'select * from @t       在执行上面的SQL语句后,会输出如图1所示的记录集。
950 0