日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

[MSSQL]【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)

發(fā)布時間:2023/12/18 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [MSSQL]【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

在CSDN社區(qū) MS-SQLSERVER板塊關(guān)于行轉(zhuǎn)列的問題,層出不窮,之前dawugui,roy_88等高手都多次整理過,我就不再整理了,只是給出一個示例,以供大家參考。


槑黨是CSDN水源2012年新出現(xiàn)的,這里對2012年1-8月的相關(guān)數(shù)據(jù),簡單的統(tǒng)計一下。


數(shù)據(jù)采集于下面地址:

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

統(tǒng)計只是在擴充話題板塊TOP100名單中出現(xiàn)的用戶,以昵稱中出現(xiàn)槑黨字樣的為樣本。

數(shù)據(jù)顯示槑黨在2012年1-8月期間,TOP100中有的相關(guān)數(shù)據(jù)共得216951分。

行轉(zhuǎn)列后的統(tǒng)計結(jié)果為:



數(shù)據(jù)腳本我已經(jīng)上傳到了下載頻道,有感興趣的朋友,可以去免費下載。

地址: 相關(guān)數(shù)據(jù)腳本下載地址(含創(chuàng)建表的腳本和插入數(shù)據(jù)的腳本,無需積分)??

--SQL SERVER 2005+ 靜態(tài)行轉(zhuǎn)列示例 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])) b group by username,userDisplay order by 總得分 desc--SQL SERVER 2005+ 動態(tài)行轉(zhuǎn)列示例 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+')) b group by username,userDisplay order by 總得分 desc')


?

?

總結(jié)

以上是生活随笔為你收集整理的[MSSQL]【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。