之前學習case when來實現行列轉換的方法,但是今天學習到了pivot的方法,記錄分享下,園子里大牛多多,甚是受益
select provinceid,中石油,中石化,中海油,社會單位 //count([name]):是對轉換後的列的值進行的處理,你想要獲得什麼樣的資料這裡要注意的是對漢字不需要加單引號,這裡是選出來所需要的列
from
(select provinceid,[name],organization from sys_gasstationinfo gs
left join rel_user_surveytable rus on gs.id=rus.objectid left join sys_user u on rus.userid=u.id where u.isvalid=1) gas //
這裡獲取原始資料
pivot(count([name]) for organization in (中石油,中石化,中海油,社會單位))p ///
這裡的漢字同樣不能加單引號,而且數量要和上面的對應,最後pivot進行行轉列的處理,
for organization in (中石油,中石化,中海油,社會單位):是對organization列的值分別轉換成乙個個列,但是我們轉換的只是in裡面的列,也就是我們所需要的列;可以理解為將organization中為「中石油」,「中石化」,「中海油」,「社會單位」轉換成列,這些列的值取count([name])
最後獲取到資料格式如下:
乙個使用pivot的儲存過程
alter procedure dbo p getgameconsumebytype add the parameters for the stored procedure here dtbegin datetime,dtend datetime,ngametype int asbegin set ...
乙個天氣預報的小應用
第一次寫部落格,以前總是固執的認為寫部落格是一件費時費勁的爛事,當看了阿杜的部落格後,突然就一種想部落格的衝動啦!也全當是記錄下自己學習過程中對某些知識的理解吧,雖然自己還是一枚小菜鳥,但自己還是想為開源社群做些小貢獻,所以就把自己寫的 都上傳到網上,希望大俠們能多給些指導。其實這個小demo還有很...
行轉列 pivot 的應用
碰上了行轉列的問題,想起了 pivot,我們先看看 pivot 是什麼 pivot 通過將表示式某一列中的唯一值轉換為輸出中的多個列來旋轉錶值表示式,並在必要時對最終輸出中所需的任何其餘列值執行聚合 旋轉?不就是行轉列嗎?再看看語法 以下是帶批註的 pivot 語法。select 非透視的列 第乙個...