sqlserver 纵横
纵表转横表
create table Score
(
Name nvarchar(128),
Class nvarchar(128),
score int
)
insert into Score(Name, Class, score)values('张三','语文',98)
insert into Score values('张三','语文',98)
insert into Score values('张三','数学',89)
insert into Score values('张三','物理',78)
insert into Score values('李四','语文',79)
insert into Score values('李四','数学',88)
insert into Score values('李四','物理',100) select * from Score select t.Name,
SUM(case t.Class when '语文' then t.score else 0 end) as 语文,
SUM(case t.Class when '数学' then t.score else 0 end) as 数学,
SUM(case t.Class when '物理' then t.score else 0 end) as 物理,
SUM(case t.Class when '外语' then t.score else 0 end) as 外语,
SUM(case t.Class when '政治' then t.score else 0 end) as 政治,
SUM(case t.Class when '体育' then t.score else 0 end) as 体育
from Score as t
group by t.Name
横表转纵表
-- 转换的表插入新表
select t.Name,
SUM(case t.Class when '语文' then t.score else 0 end) as 语文,
SUM(case t.Class when '数学' then t.score else 0 end) as 数学,
SUM(case t.Class when '物理' then t.score else 0 end) as 物理
into ScoreHb
from Score as t
group by t.Name select * from dbo.ScoreHb -- union all链接3个科目
select t.Name,
'语文' as Class,
t.语文 as score
from ScoreHb as t
union all
select t.Name,
'数学' as Class,
t.数学 as score
from ScoreHb as t
union all
select t.Name,
'物理' as Class,
t.物理 as score
from ScoreHb as t
order by t.Name desc
pivot纵表转横表
select
t2.Name,
t2.数学,
t2.物理,
t2.语文
from Score as t1
pivot (sum(score) for Class in(数学,语文,物理)) as t2
unpivot 横表转纵表
select
*
from
ScoreHb
unpivot (分数 for 课程 in (语文,数学,物理)) as t4
sqlserver 纵横的更多相关文章
- sqlServer数据库纵横表相互转化
sqlServer 数据库纵横表相互转化 一.纵表转横表: 1.纵表: 2.横表: 3. 代码: select Name as '姓名', end) as '语文', end) as '数学', e ...
- 01.SQLServer性能优化之----强大的文件组----分盘存储
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...
- 03.SQLServer性能优化之---存储优化系列
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概 述:http://www.cnblogs.com/dunitian/p/60413 ...
- SQLSERVER将一个文件组的数据移动到另一个文件组
SQLSERVER将一个文件组的数据移动到另一个文件组 有经验的大侠可以直接忽视这篇文章~ 这个问题有经验的人都知道怎麽做,因为我们公司的数据量不大没有这个需求,也不知道怎麽做实验 今天求助了QQ群里 ...
- SQLSERVER走起微信公众帐号已经开通搜狗微信搜索
SQLSERVER走起微信公众帐号已经开通搜狗微信搜索 请打开下面链接 http://weixin.sogou.com/gzh?openid=oIWsFt-hiIb_oYqQHaBMoNwRB2wM ...
- SQLSERVER走起 APP隆重推出
SQLSERVER走起 APP隆重推出 为方便大家查看本微信公众以前推送的文章,QQ群里面的某位SQLSERVER重度爱好者开发了<SQLSERVER走起>的APP 以供大家一起交流 网页 ...
- 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...
- SQLSERVER走起微信公众帐号全新改版 全新首页
SQLSERVER走起微信公众帐号全新改版 全新首页 今天,SQLSERVER走起微信公众帐号增加了首页功能 虽然还是订阅号,不过已经对版面做了比较大的修改,希望各位亲用得放心.用得安心O(∩_∩)O ...
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
随机推荐
- LINUX数据库的备份,以及远程授权登陆
mysql dump -u root -p juhui > /data/juhui.sql //备份数据库 grant all privileges on *.* to xf111@loca ...
- Python脚本模拟登录网页之ZiMuZu篇
ZiMuZu.tv这个网站喜欢看电影看美剧的人一定都熟悉. 这个网站原先的升级策略是每天登陆网站, 然后去一个"每日签到"的页面点击一个签到按钮, 以实现帐号等级的升级. 之前网上 ...
- Mysql5.5命令行修改密码
今天下载了mysql5.5.45免安装版,配置好之后发现mysql默认是没有设置密码的,也就是密码为空. 如果是本机作开发测试用,有无密码倒也无所谓,不过发布在服务器上没有密码肯定是不行的,那就需要设 ...
- 一键发布ASP.NET Web安装程序
转载自:http://www.cnblogs.com/nangong/p/Web.html 前言:最近公司有个Web要发布,但是以前都是由实施到甲方去发布,配置,这几天有点闲,同事让我搞 ...
- Android笔记: 查看SDK源码
Eclipse中设置查看JavaAndroid源码及文档的方法.pdf 经验证方法可行
- 统一的mvc异常处理
mvc异常处理 using System; using System.Configuration; using System.Web.Mvc; using Infrastructure.Excepti ...
- MVC模式--DropDownList数据绑定
DropDownList数据绑定 在控制器中Controller中,为前台页面DropDownList准备的数据 List<bookInfo> bookList = bookManger. ...
- lua 环境揭秘
什么是环境? http://www.lua.org/manual/5.1/manual.html#2.9 Besides metatables, objects of types thread, fu ...
- ubuntu之使用sublime text3搭建Python IDE
参考文章: 教你如何将 Sublime 3 打造成 Python/Django IDE开发利器 Ubuntu16.04下使用sublime text3搭建Python IDE 如何优雅地使用Subli ...
- Leetcode: Strong Password Checker
A password is considered strong if below conditions are all met: It has at least 6 characters and at ...