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

tbwshc

tbw

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

常用鏈接

留言簿(4)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

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

假定場景如下:某幾位員工在不同時間參加了不同的項目,獲取了相應的收入,現(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與指定的聚合列的順序有關。

 

三、使用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) 結果:

 

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

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


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

 

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

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   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>
            亚洲综合色在线| 久久激情中文| 国产日本欧美一区二区| 亚洲韩国一区二区三区| 久久爱www久久做| 先锋a资源在线看亚洲| 亚洲人成在线观看网站高清| 久久九九电影| 老司机精品导航| 午夜精品福利视频| 国内精品国产成人| 国产亚洲欧美一区二区| 国产精品ⅴa在线观看h| 欧美日韩另类字幕中文| 欧美日韩一二区| 欧美日韩国产美女| 一区二区三区www| 一区二区日韩| 欧美在线短视频| 欧美韩日一区二区| 欧美电影免费观看| 久久精品一区| 久久久噜噜噜| 欧美伦理a级免费电影| 一区二区三区产品免费精品久久75| 国产精品一区三区| 久久爱www久久做| 免费成人av在线看| 99热精品在线观看| 国产亚洲成av人在线观看导航 | 免费久久久一本精品久久区| 欧美电影免费观看高清完整版| 亚洲一区二区视频| 亚洲欧洲另类| 在线播放日韩| 欧美区一区二区三区| 免费欧美在线视频| 久久久激情视频| 欧美一级电影久久| 亚洲国产一成人久久精品| 欧美一区二区三区久久精品茉莉花| 国产欧美一级| 欧美日韩视频第一区| 欧美性做爰猛烈叫床潮| 久久五月激情| 午夜视频在线观看一区二区| 亚洲视频二区| 欧美高清影院| 欧美一区二区成人6969| 欧美一区三区三区高中清蜜桃| 99精品视频免费| 亚洲韩日在线| 国色天香一区二区| 亚洲视频在线视频| 亚洲综合导航| 欧美阿v一级看视频| 99精品欧美一区二区蜜桃免费| 久久国产免费看| 亚洲欧美高清| 久久麻豆一区二区| 中国成人黄色视屏| 午夜精彩国产免费不卡不顿大片| 久久激情五月丁香伊人| 欧美日韩国产综合视频在线观看| 午夜伦理片一区| 欧美在线免费播放| 欧美大片免费久久精品三p| 裸体丰满少妇做受久久99精品| 久久久www成人免费精品| 亚洲一区二区免费在线| 亚洲欧美国产精品va在线观看| 亚洲免费观看| 伊人狠狠色j香婷婷综合| 亚洲日本国产| 免费在线欧美黄色| 男女视频一区二区| 欧美r片在线| 韩国亚洲精品| 欧美在线观看视频一区二区三区| 老牛嫩草一区二区三区日本| 欧美经典一区二区三区| 国产一区导航| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 欧美激情第二页| 欧美激情亚洲综合一区| 在线一区观看| 欧美日韩一区二区三区四区五区 | 国产亚洲欧洲| 亚洲午夜久久久| 欧美大片18| 亚洲欧美国产日韩中文字幕| 免费亚洲网站| 亚洲高清三级视频| 欧美激情免费在线| 欧美日本久久| 99精品国产在热久久| 亚洲视频综合| 亚洲成人在线视频播放| 欧美一区二视频| 欧美在线一区二区| 久久久久国产一区二区| 一本色道精品久久一区二区三区 | 久久久久久综合| 国产欧美一区二区精品婷婷| 老色鬼久久亚洲一区二区| 久久丁香综合五月国产三级网站| 一本大道久久精品懂色aⅴ| 亚洲一二三级电影| 亚洲成人在线视频网站| 亚洲欧美日本伦理| 亚洲女女女同性video| 亚久久调教视频| 国内自拍亚洲| 欧美二区乱c少妇| 激情一区二区三区| 久久久久久久综合狠狠综合| 女同性一区二区三区人了人一| 欧美精品精品一区| 欧美激情一区二区三区全黄| 亚洲午夜91| 亚洲国产精品久久久久秋霞蜜臀| 亚洲靠逼com| 日韩一区二区精品视频| 久久色在线播放| 欧美在线不卡| 国产噜噜噜噜噜久久久久久久久| 麻豆乱码国产一区二区三区| 亚洲视频欧美视频| 亚洲午夜视频| 日韩午夜在线电影| 午夜精品一区二区三区电影天堂| 亚洲国产欧美精品| 欧美大片在线看免费观看| 欧美在线中文字幕| 亚洲人精品午夜| 国产精品视频| 欧美精品乱码久久久久久按摩| 亚洲国产成人午夜在线一区| 国产亚洲精品久| 亚洲女性喷水在线观看一区| 久久综合激情| 亚欧成人在线| 亚洲午夜久久久久久久久电影网| 欧美午夜视频一区二区| 欧美亚洲免费在线| 亚洲免费人成在线视频观看| 亚洲精品欧美一区二区三区| 亚洲经典在线| 尹人成人综合网| 经典三级久久| 在线观看欧美激情| 国产一区二区高清| 国产精品伊人日日| 国产精品欧美久久久久无广告| 欧美一区网站| 亚洲国产一区二区三区青草影视| 亚洲丝袜av一区| 亚洲桃花岛网站| 亚洲午夜av在线| 亚洲综合色视频| 亚洲高清免费| 亚洲精品乱码| 一区二区精品国产| 欧美一级二级三级蜜桃| 国产视频观看一区| 国产又爽又黄的激情精品视频 | 欧美激情欧美狂野欧美精品| 亚洲欧美日韩直播| 亚洲欧美另类综合偷拍| 亚洲视频一区在线观看| 最新热久久免费视频| 久久免费精品视频| 国内久久婷婷综合| 午夜一级在线看亚洲| 亚洲国产专区校园欧美| 久久久久五月天| 99视频一区二区| 国产精品久久久久一区二区三区共| 亚洲精品日韩一| 99国内精品久久| 精品999成人| 日韩午夜一区| 亚洲二区视频在线| 欧美日韩高清不卡| 久久久999精品免费| 欧美va亚洲va香蕉在线| 亚洲精品日韩欧美| 亚洲伊人第一页| 亚洲国产精品成人久久综合一区| 亚洲国产精品成人| 欧美日韩在线播放三区| 久久精品视频一| 欧美福利影院| 午夜精品久久久久久久男人的天堂 | 久久久久久综合| 亚洲精品免费网站| 欧美一区二区三区视频在线 | 亚洲资源av| 亚洲一区二区四区| 国产一区二区三区久久久|