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

tbwshc

tbw

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

常用鏈接

留言簿(4)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

SQL Server 2008中對匯總有明顯的增強(qiáng),有點(diǎn)像Oracle的語法了。請看下面四個(gè)例子:

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

基本表如下:

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
 

 

改進(jìn)查詢:

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,還有更加靈活強(qiáng)大的自定義集合匯總--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標(biāo)識(shí)匯總行(http://technet.microsoft.com/zh-cn/library/ms178544.aspx)

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

/*********使用Grouping標(biāo)識(shí)匯總行***************/   /********* 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é)果:

 

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

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


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

 

posted on 2012-07-15 17:16 tbwshc 閱讀(814) 評論(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>
            日韩香蕉视频| 欧美国产视频一区二区| 亚洲免费视频在线观看| 欧美激情一区在线| 欧美日韩国产色综合一二三四| 麻豆av福利av久久av| 欧美风情在线| 国产精品视频一区二区三区 | 一本色道久久| 国产精品99久久久久久白浆小说| 一区二区三区 在线观看视| 午夜久久99| 亚洲精品乱码久久久久| 亚洲一区二区三区精品动漫| 久久婷婷久久| 国产精品久久九九| 亚洲欧洲日韩在线| 久久五月婷婷丁香社区| 亚洲一本大道在线| 欧美日韩国产一区二区三区地区| 国外成人性视频| 欧美一激情一区二区三区| 欧美一区二区三区精品电影| 久久一区二区视频| 亚洲欧美怡红院| 欧美午夜一区二区| 91久久极品少妇xxxxⅹ软件| 可以看av的网站久久看| 欧美亚洲免费在线| 国产午夜精品视频免费不卡69堂| 日韩一级黄色大片| 久久成人国产精品| 欧美日韩亚洲一区二区三区在线观看 | 欧美一区二区三区免费在线看| 亚洲午夜精品福利| 欧美激情久久久久久| 亚洲三级免费电影| 亚洲欧美日韩在线综合| 久久精品国产欧美激情| 欧美日韩久久久久久| 亚洲高清毛片| 亚洲精品欧美激情| 亚洲欧洲视频| 久久久久国内| 国产欧美欧洲在线观看| 一区二区三区日韩欧美精品| 六月天综合网| 久久久999国产| 国产欧美日韩91| 久久午夜羞羞影院免费观看| 亚洲欧美亚洲| 国产精品成av人在线视午夜片| 亚洲视频网在线直播| 亚洲美女电影在线| 欧美福利视频网站| 国产精品嫩草影院av蜜臀| 亚洲春色另类小说| 国产欧美日韩亚州综合| 欧美激情精品久久久久| 国语精品中文字幕| 久久综合九色综合欧美狠狠| 欧美一区91| 91久久精品美女| 亚洲美女淫视频| 免费观看在线综合色| 亚洲午夜影视影院在线观看| 美女在线一区二区| 欧美一区2区视频在线观看| 欧美日韩一区二区精品| 一本大道久久a久久精品综合| 亚洲精品资源| 欧美精品成人在线| 亚洲免费在线播放| 欧美一区二区在线播放| 国产欧美在线视频| 9l视频自拍蝌蚪9l视频成人| 在线视频日本亚洲性| 国产精品裸体一区二区三区| 亚洲一区二区视频在线观看| 久久久久久久网站| 1000部国产精品成人观看| 欧美国产日产韩国视频| 亚洲美女av电影| 欧美中文在线观看国产| 国产一区二区主播在线| 国产精品网站在线播放| 欧美三级电影一区| 亚洲福利久久| 久久久精彩视频| 亚洲一区二区三区成人在线视频精品 | 亚洲一区二区在线免费观看| 久久精品国产亚洲aⅴ| 一本色道88久久加勒比精品 | 狠狠爱综合网| 亚洲欧美日韩精品久久久| 久久久一区二区三区| 久久综合久色欧美综合狠狠| 免费久久久一本精品久久区| 日韩视频―中文字幕| 亚洲国产精品久久久久| 嫩草国产精品入口| 久久一二三四| 国产精品久久久久免费a∨| 理论片一区二区在线| 国产精品亚洲综合一区在线观看| 亚洲高清不卡在线| 一区免费视频| 久久久噜久噜久久综合| 久久精品电影| 国内精品视频一区| 久久精品一区四区| 老司机一区二区三区| 国产欧美日韩综合| 欧美在线日韩在线| 免费在线观看日韩欧美| 亚洲人体偷拍| 久久久激情视频| 亚洲国产成人久久综合| 合欧美一区二区三区| 久久av红桃一区二区小说| 久热精品视频在线免费观看| 亚洲福利国产精品| 亚洲欧美日韩在线一区| 久久久久久尹人网香蕉| 久久视频一区二区| 亚洲欧美日韩精品| 国产在线精品一区二区夜色| 亚洲精品久久久久| 一区二区三区四区国产精品| 亚洲高清激情| 欧美一区二区黄色| 亚洲女优在线| 欧美日韩国产黄| 欧美激情在线狂野欧美精品| 国产午夜亚洲精品羞羞网站 | 国产伦精品一区二区三区四区免费| 亚洲激情电影在线| 亚洲国产婷婷综合在线精品| 欧美综合第一页| 久久黄色影院| 国产欧美精品在线观看| 亚洲小视频在线观看| 欧美在线啊v| 国产日韩欧美在线一区| 欧美专区亚洲专区| 欧美fxxxxxx另类| 亚洲国产高清自拍| 欧美二区在线| 亚洲国产成人不卡| 99精品欧美一区二区蜜桃免费| 欧美区二区三区| 亚洲天堂av电影| 久久国产88| 亚洲激情第一页| 欧美日本免费| 亚洲一级黄色av| 老色批av在线精品| 亚洲激情第一页| 国产精品成人av性教育| 亚洲欧美在线aaa| 久久婷婷色综合| 夜夜夜精品看看| 国产精品久久久久久久久久久久| 午夜精品999| 亚洲福利视频三区| 亚洲一区在线免费| 激情av一区二区| 欧美日韩成人综合在线一区二区| 亚洲小说区图片区| 欧美大片91| 午夜精品一区二区三区在线播放| 国产伦一区二区三区色一情| 久久综合国产精品| 一区二区三区久久久| 亚洲三级电影在线观看| 国产精品久久久久久五月尺| 性欧美videos另类喷潮| 亚洲国产精品t66y| 欧美在线观看视频| 亚洲伦理在线免费看| 国产一区二区高清| 欧美日韩色婷婷| 久久久免费精品视频| 亚洲一区二区三区影院| 欧美.日韩.国产.一区.二区| 亚洲天堂免费观看| 亚洲精品护士| 国内精品久久久久久久影视麻豆| 欧美日本免费| 麻豆国产精品777777在线| 亚洲视频在线播放| 亚洲二区在线| 久久免费少妇高潮久久精品99| 夜夜嗨av一区二区三区四区| 亚洲第一页在线| 国产一区二区欧美| 欧美性久久久| 裸体一区二区三区| 伊人久久大香线| 国产精品视频xxx|