设为首页 加入收藏

TOP

SQL+SERVER+2005%2B+版本行列转换数据脚本(三)
2014-11-24 02:54:41 来源: 作者: 【 】 浏览:15
Tags:SQL SERVER 2005%2B 版本 行列 转换 数据 脚本
y 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 ( www.2cto.com
'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+')) b
group by username,userDisplay order by 总得分 desc')
--扩展:如果时间要扩展的话,把month字段改个名字,存储YYYY-MM格式即可存储多个年限的了。
首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇行列转换之列不固定 下一篇温故简单SQL行列转换

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java多线程基础 - 华 (2025-12-24 13:20:10)
·深入解读Java多线程 (2025-12-24 13:20:08)
·Spring Boot 中文文档 (2025-12-24 13:20:04)
·如何理解智能指针? (2025-12-24 12:48:26)
·c++是否应避免使用普 (2025-12-24 12:48:23)