青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

tbwshc

tbw

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

常用鏈接

留言簿(4)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

SQL Server 2008中對匯總有明顯的增強,有點像Oracle的語法了。請看下面四個例子:

假定場景如下:某幾位員工在不同時間參加了不同的項目,獲取了相應(yīng)的收入,現(xiàn)在需要按各種分類進行統(tǒng)計。

基本表如下:

USE testDb2  GO   IF NOT OBJECT_ID('tb_Income') IS NULL DROP TABLE [tb_Income]   /****** Object: Table [dbo].[tb_Income] Script Date: 2012/4/5 8:19:21 ******/   CREATE TABLE [dbo].[tb_Income](  [TeamID] int not null,  [PName] [Nvarchar](20) NOT NULL,  [CYear] Smallint NOT NULL,  [CMonth] TinyInt NOT NULL,  [CMoney] Decimal (10,2) Not Null  )   GO  INSERT [dbo].[tb_Income]  SELECT 1,'胡一刀',2011,2,5600  union ALL SELECT 1,'胡一刀',2011,1,5678  union ALL SELECT 1,'胡一刀',2011,3,6798  union ALL SELECT 2,'胡一刀',2011,4,7800  union ALL SELECT 2,'胡一刀',2011,5,8899  union ALL SELECT 3,'胡一刀',2012,8,8877   union ALL SELECT 1,'苗人鳳',2011,1,3455  union ALL SELECT 1,'苗人鳳',2011,2,4567  union ALL SELECT 2,'苗人鳳',2011,3,5676  union ALL SELECT 3,'苗人鳳',2011,4,5600  union ALL SELECT 2,'苗人鳳',2011,5,6788  union ALL SELECT 2,'苗人鳳',2012,6,5679  union ALL SELECT 2,'苗人鳳',2012,7,6785   union ALL SELECT 2,'張無忌',2011,2,5600  union ALL SELECT 2,'張無忌',2011,3,2345  union ALL SELECT 2,'張無忌',2011,5,12000  union ALL SELECT 3,'張無忌',2011,4,23456  union ALL SELECT 3,'張無忌',2011,6,4567  union ALL SELECT 1,'張無忌',2012,7,6789  union ALL SELECT 1,'張無忌',2012,8,9998   union ALL SELECT 3,'趙半山',2011,7,6798  union ALL SELECT 3,'趙半山',2011,10,10000  union ALL SELECT 3,'趙半山',2011,9,12021  union ALL SELECT 2,'趙半山',2012,11,8799  union ALL SELECT 1,'趙半山',2012,12,10002   union ALL SELECT 3,'令狐沖',2011,8,7896  union ALL SELECT 3,'令狐沖',2011,9,7890  union ALL SELECT 2,'令狐沖',2011,10,7799  union ALL SELECT 2,'令狐沖',2011,11,9988  union ALL SELECT 2,'令狐沖',2012,9,34567  union ALL SELECT 3,'令狐沖',2012,12,5609   GO 數(shù)據(jù)如下:

SELECT * FROM tb_Income   /*   TeamID PName CYear CMonth CMoney   胡一刀 2011 2 5600.00   胡一刀 2011 1 5678.00   胡一刀 2011 3 6798.00   胡一刀 2011 4 7800.00   胡一刀 2011 5 8899.00   胡一刀 2012 8 8877.00   苗人鳳 2011 1 3455.00   苗人鳳 2011 2 4567.00   苗人鳳 2011 3 5676.00   苗人鳳 2011 4 5600.00   苗人鳳 2011 5 6788.00   苗人鳳 2012 6 5679.00   苗人鳳 2012 7 6785.00   張無忌 2011 2 5600.00   張無忌 2011 3 2345.00   張無忌 2011 5 12000.00   張無忌 2011 4 23456.00   張無忌 2011 6 4567.00   張無忌 2012 7 6789.00   張無忌 2012 8 9998.00   趙半山 2011 7 6798.00   趙半山 2011 10 10000.00   趙半山 2011 9 12021.00   趙半山 2012 11 8799.00   趙半山 2012 12 10002.00   令狐沖 2011 8 7896.00   令狐沖 2011 9 7890.00   令狐沖 2011 10 7799.00   令狐沖 2011 11 9988.00   令狐沖 2012 9 34567.00   令狐沖 2012 12 5609.00  */ 一、使用CUBE匯總數(shù)據(jù)(http://msdn.microsoft.com/en-us/library/bb522495%28v=sql.105%29.aspx)

小試牛刀,

/*********使用CUBE匯總數(shù)據(jù)***************/   /********* 3w@live.cn 邀月***************/  SELECT TeamID as 小組ID,  SUM(CMoney) 總收入  FROM tb_Income  GROUP BY CUBE (TeamID)  ----ORDER BY TeamID desc
 

 

改進查詢:

SELECT TeamID as 小組ID,PName as 姓名,  SUM(CMoney) 總收入  FROM tb_Income  GROUP BY CUBE (TeamID,PName)


二、使用ROLLUP匯總數(shù)據(jù)(http://msdn.microsoft.com/en-us/library/bb522495%28v=sql.105%29.aspx)

/*********使用ROLLUP匯總數(shù)據(jù)***************/   /********* 3w@live.cn 邀月***************/   SELECT TeamID as 小組ID,PName as 姓名,  SUM(CMoney) 總收入  FROM tb_Income  GROUP BY ROLLUP (TeamID,PName)


注意:使用Rollup與指定的聚合列的順序有關(guān)。

 

三、使用Grouping Sets創(chuàng)建自定義匯總數(shù)據(jù)(http://msdn.microsoft.com/en-us/library/bb522495%28v=sql.105%29.aspx)

除了Cube和Rollup,還有更加靈活強大的自定義集合匯總--Grouping Sets

/*********使用Grouping Sets創(chuàng)建自定義匯總數(shù)據(jù)***************/   /********* 3w@live.cn 邀月***************/   SELECT TeamID as 小組ID,PName as 姓名,CYear as 年份,----min(CMonth) as 月份,  SUM(CMoney) 總收入  FROM tb_Income  Where CMonth=2  GROUP BY grouping SETS ((TeamID),(TeamID,PName),(CYear,PName))


四、使用Grouping標識匯總行(http://technet.microsoft.com/zh-cn/library/ms178544.aspx)

細心的朋友可能會注意到,如果Cube后有兩個以上的匯總列時,可能會有一些列是Null,那么這些Null值究竟tb本身就是Null,還是由于聚合產(chǎn)生的Null呢,此時,GroupingID函數(shù)大顯身手的機會來了。

/*********使用Grouping標識匯總行***************/   /********* 3w@live.cn 邀月***************/  SELECT TeamID as 小組ID,CYear as 年份,  CASE WHEN grouping(TeamID)=0 AND grouping(CYear)=1 THEN '小組匯總' WHEN grouping(TeamID)=1 AND grouping(CYear)=0 THEN '年份匯總' WHEN grouping(TeamID)=1 AND grouping(CYear)=1 THEN '所有匯總' else '正常行' END as 行類別,  SUM(CMoney) 總收入  FROM tb_Income  GROUP BY CUBE (TeamID,CYear) 結(jié)果:

 

其實,還有更復(fù)雜的Grouping_ID,不過,一般情況下用不到,需要的同學(xué),請看MSDN:

http://technet.microsoft.com/zh-cn/library/bb510624.aspx


小結(jié):帶有Cube,Rollup,grouping Sets的Group By函數(shù)在統(tǒng)計與分析中有著廣泛的應(yīng)用,相信它的高效簡捷,在特定的場合會令人你愛不釋手!

 

posted on 2012-07-15 17:16 tbwshc 閱讀(821) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产日韩综合一区| 亚洲美女视频| 久久精品三级| 午夜伦欧美伦电影理论片| 国产精品亚洲片夜色在线| 性欧美大战久久久久久久免费观看| 亚洲久久在线| 国产精品欧美日韩一区| 久久久精品视频成人| 久久国产精品久久久久久电车 | 99re6这里只有精品| 欧美日韩亚洲国产一区| 亚洲午夜伦理| 亚洲综合精品自拍| 国产一区在线看| 亚洲国产精品久久久| 欧美精品一区二区三| 亚洲欧美综合| 久久久久久久综合色一本| 亚洲区一区二| 亚洲亚洲精品三区日韩精品在线视频| 国产精品综合av一区二区国产馆| 久久久综合免费视频| 欧美高清在线精品一区| 亚洲欧美欧美一区二区三区| 久久国产精彩视频| 99综合精品| 久久精品国产精品亚洲| 一本色道久久88精品综合| 亚洲欧美影院| 亚洲毛片av| 久久精彩免费视频| 一本色道久久88综合亚洲精品ⅰ | 91久久精品国产91久久| 国产精品久久久久影院色老大| 久久久亚洲国产天美传媒修理工| 欧美成人精品一区二区| 欧美专区日韩专区| 欧美大片在线看| 欧美亚洲一级片| 欧美成在线观看| 久久青草欧美一区二区三区| 欧美日韩亚洲成人| 欧美国产一区二区三区激情无套| 国产精品乱人伦中文| 亚洲欧洲精品一区二区三区不卡| 狠狠爱综合网| 性亚洲最疯狂xxxx高清| 一区二区三区国产精品| 免费国产自线拍一欧美视频| 久久久天天操| 国产一区二区三区电影在线观看| 日韩视频免费| 一本色道久久综合亚洲二区三区| 老司机成人在线视频| 久久亚洲精品一区二区| 国产精品日韩电影| 一本大道久久a久久精品综合 | 国产精品美女黄网| 99精品国产在热久久下载| 亚洲精品久久久蜜桃| 久久精品一区四区| 亚洲国产精品一区制服丝袜| 欧美日韩国产欧| 亚洲国产精品视频一区| 亚洲国产欧美日韩精品| 久久米奇亚洲| 两个人的视频www国产精品| 国模套图日韩精品一区二区| 午夜影院日韩| 久久久久国产精品www| 国产亚洲欧美日韩精品| 性久久久久久| 久久久久一区二区三区| 在线观看日韩国产| 久久亚洲国产成人| 欧美国产精品劲爆| 亚洲精品一区二| 欧美啪啪成人vr| 亚洲性视频h| 久久精品国产亚洲精品| 韩国一区二区三区在线观看| 久久成人免费网| 欧美丰满少妇xxxbbb| 一本色道综合亚洲| 国产精品第一区| 欧美一二三区精品| 噜噜噜91成人网| 99精品国产99久久久久久福利| 欧美日韩精品在线| 午夜精品福利在线| 欧美成人69| 亚洲网站在线播放| 国产人成一区二区三区影院| 久久久久久综合网天天| 亚洲人午夜精品免费| 午夜精品久久久久久| 黄色成人av网站| 欧美日韩成人综合天天影院| 亚洲一区二区免费在线| 免费h精品视频在线播放| 亚洲精品一区二区网址 | 亚洲欧美999| 久久综合伊人77777蜜臀| 亚洲卡通欧美制服中文| 国产精品成人v| 久久国产精品亚洲va麻豆| 亚洲国产另类久久久精品极度| 午夜免费在线观看精品视频| 在线播放中文一区| 国产精品黄页免费高清在线观看| 久久视频国产精品免费视频在线 | 久久九九久久九九| 亚洲日本欧美| 国产亚洲精品aa午夜观看| 欧美v日韩v国产v| 欧美一区二区视频97| 亚洲精品久久在线| 美女精品在线观看| 亚洲欧美日韩国产成人精品影院| 在线精品福利| 国产日韩欧美在线播放| 欧美精品一区在线播放| 久久免费精品视频| 亚洲欧美日韩国产中文在线| 亚洲精品久久久久久久久| 麻豆久久久9性大片| 欧美淫片网站| 亚洲欧美日韩国产一区二区| 99av国产精品欲麻豆| 亚洲国产精选| 激情国产一区| 国产在线不卡| 国产精品自在欧美一区| 欧美性色aⅴ视频一区日韩精品| 欧美 日韩 国产 一区| 久久精品国产欧美亚洲人人爽| 亚洲永久免费精品| 国产精品99久久久久久久久 | 久久国产精品毛片| 亚洲欧美日韩在线高清直播| 一本色道**综合亚洲精品蜜桃冫| 91久久精品日日躁夜夜躁欧美 | 国产精品videosex极品| 欧美日本精品在线| 欧美噜噜久久久xxx| 欧美精品一区二区三区在线播放| 你懂的国产精品永久在线| 狼狼综合久久久久综合网| 久久精品国产99国产精品| 久久国产成人| 久热这里只精品99re8久| 久久一区二区三区国产精品| 久久在线播放| 欧美激情一区在线| 欧美日韩亚洲一区| 国产精品久久久久久亚洲毛片| 欧美体内谢she精2性欧美| 欧美系列一区| 国产拍揄自揄精品视频麻豆| 国产免费亚洲高清| 黑人极品videos精品欧美裸| 在线观看亚洲一区| 亚洲乱码国产乱码精品精可以看 | 久久久噜噜噜久久久| 久久久亚洲人| 免费看av成人| 亚洲人成精品久久久久| 99在线热播精品免费99热| 亚洲在线视频| 久久国产福利国产秒拍| 美女主播视频一区| 欧美天天影院| 黑人巨大精品欧美一区二区小视频| 亚洲成人影音| 亚洲字幕一区二区| 久久综合九色综合欧美就去吻| 亚洲国产精品一区二区第一页 | 午夜久久tv| 久久这里只有精品视频首页| 欧美日韩国产免费| 国产午夜精品一区二区三区视频| 亚洲福利一区| 午夜久久美女| 亚洲高清在线观看| 亚洲综合国产精品| 欧美成人精品福利| 国产日韩欧美日韩| 亚洲精品在线观看免费| 欧美一级二区| 亚洲人成在线观看一区二区| 欧美亚洲免费电影| 欧美日韩三区| 亚洲国产日韩一区| 久久精品成人一区二区三区蜜臀| 亚洲电影自拍| 久久精品中文字幕一区| 国产精品va在线| 亚洲美女淫视频| 蜜桃av一区|