[MSSQL]【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)
来源:互联网 发布:wine怎么使用 mac 编辑:程序博客网 时间:2024/05/17 01:27
在CSDN社区 MS-SQLSERVER板块,关于行转列的问题,层出不穷,之前dawugui,roy_88等高手都多次整理过,我就不再整理了,只是给出一个示例,以供大家参考。
槑党是CSDN水源2012年新出现的,这里对2012年1-8月的相关数据,简单的统计一下。
数据采集于下面地址:
http://forum.csdn.net/PointForum/Forum/ExpertTopList.aspx?flg=bigMonth&forumid=d5ce81ef-7dab-4abb-a7ca-ac03342ae03b&bigclassid=d5ce81ef-7dab-4abb-a7ca-ac03342ae03b&smallclassid=9231e8e0-b9bc-4c51-b364-ba68665814cc&date=2012-6&year=2012&month=6
统计只是在扩充话题板块TOP100名单中出现的用户,以昵称中出现槑党字样的为样本。
数据显示槑党在2012年1-8月期间,TOP100中有的相关数据共得216951分。
行转列后的统计结果为:
数据脚本我已经上传到了下载频道,有感兴趣的朋友,可以去免费下载。
地址: 相关数据脚本下载地址(含创建表的脚本和插入数据的脚本,无需积分)
--SQL SERVER 2005+ 静态行转列示例select row_number() over (order by (select sum(score) from dduser where username=b.username) desc) as 总排名,(select sum(score) from dduser where username=b.username) as 总得分,userDisplay as 昵称,username as 账号,max(isnull('第'+ltrim([1])+'名','')) as [1月],max(isnull('第'+ltrim([2])+'名','')) as [2月],max(isnull('第'+ltrim([3])+'名','')) as [3月],max(isnull('第'+ltrim([4])+'名','')) as [4月],max(isnull('第'+ltrim([5])+'名','')) as [5月],max(isnull('第'+ltrim([6])+'名','')) as [6月],max(isnull('第'+ltrim([7])+'名','')) as [7月],max(isnull('第'+ltrim([8])+'名','')) as [8月]from (select * from dduser) a pivot (max(rank) for [month] in ([1],[2],[3],[4],[5],[6],[7],[8])) bgroup by username,userDisplay order by 总得分 desc--SQL SERVER 2005+ 动态行转列示例declare @sql varchar(max),@colname varchar(max)select @sql = isnull(@sql + '],[' , '') + ltrim([month]) from dduser group by [month]set @sql = '[' + @sql + ']'select @colname= isnull(@colname+',','')+'max(isnull(''第''+ltrim([' +ltrim([month])+'])+''名'','''')) as ['+ltrim([month])+'月]'from dduser group by [month]exec ('select row_number() over (order by (select sum(score) from dduser where username=b.username) desc) as 总排名,(select sum(score) from dduser where username=b.username) as 总得分,userDisplay as 昵称,username as 账号,'+@colname+'from (select * from dduser) a pivot (max(rank) for [month] in ('+@sql+')) bgroup by username,userDisplay order by 总得分 desc')
- [MSSQL]【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)
- 【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)
- 【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)
- 微软一站式示例代码库(中文版)2011-02-18版本, Azure+Bing + Windows Phone + WCF + Silverlight示例新鲜出炉。
- [新鲜出炉]Enterprise Library for .net 2.0 2006年1月版
- [新鲜出炉]Enterprise Library for .net 2.0 2006年1月版
- Exchange Server 2013部署助理新鲜出炉
- 2013年-华为面经新鲜出炉
- cartographer源码浅析(一)-新鲜出炉
- CGIC手册新鲜出炉
- OpenCV2.4.3新鲜出炉
- OpenCV2.4.3新鲜出炉
- OpenCV2.4.3新鲜出炉
- ExtAspNet logo 新鲜出炉
- OpenCV2.4.8新鲜出炉!
- 休闲小游戏新鲜出炉咯!
- SQL server 2005安装问题大全 - Mssql
- SQL Server数据库结构(MSSQL入门)
- 使用ListView应该注意的地方
- 电影站上线第30天 IP慢慢突破300的一点小经验
- 有12个乒乓球,其中一个是坏的,请你用天枰称3次将坏球分辨出来。你会用什么方法呢?
- hdu 2037 今年暑假不AC
- Transaction类型
- [MSSQL]【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)
- 使用PLSQL Developer从oracle数据库 导入导出excel表数据
- JS for web developers的第十章的一段翻译
- 不同操作系统中文本文件换行符的区别
- 批处理去除空格
- stl排序之sort函数
- decode、encode、unicode解码
- 打印机步进电机补充说明
- 每个浏览器都是一家银行