亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【T-SQL系列】WITH ROLLUP、WITH CUBE、GROUPIN

系統(tǒng) 2584 0

原文:    【T-SQL系列】WITH ROLLUP、WITH CUBE、GROUPING語(yǔ)句的應(yīng)用    


CUBE 和 ROLLUP 之間的區(qū)別在于:
CUBE 運(yùn)算符生成的結(jié)果集是多維數(shù)據(jù)集。多維數(shù)據(jù)集是事實(shí)數(shù)據(jù)的擴(kuò)展,事實(shí)數(shù)據(jù)即記錄個(gè)別事件的數(shù)據(jù)。擴(kuò)展建立在用戶打算分析的列上。這些列被稱為維。多維數(shù)據(jù)集是一個(gè)結(jié)果集,其中包含了各維度的所有可能組合的交叉表格。
CUBE 運(yùn)算符在 SELECT 語(yǔ)句的 GROUP BY 子句中指定。該語(yǔ)句的選擇列表應(yīng)包含維度列和聚合函數(shù)表達(dá)式。GROUP BY 應(yīng)指定維度列和關(guān)鍵字 WITH CUBE。結(jié)果集將包含維度列中各值的所有可能組合,以及與這些維度值組合相匹配的基礎(chǔ)行中的聚合值。

CUBE 生成的結(jié)果集顯示了所選列中值的所有組合的聚合。
ROLLUP 生成的結(jié)果集顯示了所選列中值的某一層次結(jié)構(gòu)的聚合。
GROUPING:
當(dāng)用 CUBE 或 ROLLUP 運(yùn)算符添加行時(shí),附加的列輸出值為1,當(dāng)所添加的行不是由 CUBE 或 ROLLUP 產(chǎn)生時(shí),附加列值為0。

需要注意的是,使用有 WITH ROLLUP 子句的 GROUP BY 語(yǔ)句時(shí),不能再使用 ORDER BY 語(yǔ)句對(duì)結(jié)果集進(jìn)行排序,如果對(duì)返回的結(jié)果順序不滿意,需要應(yīng)用程序獲得結(jié)果后在程序中進(jìn)行排序。
示例:

  DECLARE        @T        TABLE        

    (

      名稱 
        VARCHAR        (      10        ) ,

      出版商 
        VARCHAR        (      10        ) ,

      價(jià)格1 
        INT         ,

      價(jià)格2 
        INT        

    )        INSERT        @T        SELECT        '        a        '         ,                
        '        北京        '         ,                
        11         ,                
        22        UNION        ALL        SELECT        '        a        '         ,                
        '        四川        '         ,                
        22         ,                
        33        UNION        ALL        SELECT        '        b        '         ,                
        '        四川        '         ,                
        12         ,                
        23        UNION        ALL        SELECT        '        b        '         ,                
        '        北京        '         ,                
        10         ,                
        20        UNION        ALL        SELECT        '        b        '         ,                
        '        昆明        '         ,                
        20         ,                
        30        SELECT        *        FROM        @T        --        WITH CUBE         
        SELECT          名稱 ,

        出版商 ,        
        SUM        (價(jià)格1) 
      AS         價(jià)格1 ,        
        SUM        (價(jià)格2) 
      AS         價(jià)格2 ,        
        GROUPING        (名稱) 
      AS         CHECK名稱 ,        
        GROUPING        (出版商) 
      AS         CHECK出版商        FROM        @T        GROUP        BY         名稱 ,

        出版商        
        WITH         CUBE        


        --        WITH ROLLUP        SELECT          名稱 ,

        出版商 ,        
        SUM        (價(jià)格1) 
      AS         價(jià)格1 ,        
        SUM        (價(jià)格2) 
      AS         價(jià)格2        FROM        @T        GROUP        BY         名稱 ,

        出版商        
        WITH         ROLLUP   

        


        --        GROUPING        
        SELECT        CASE        WHEN         ( 
      GROUPING        (名稱) 
      =        1         ) 
      THEN        '        總計(jì)        '        ELSE        ISNULL        (名稱, 
      '        UNKNOWN        '        )        
        END        AS         名稱 ,        
        CASE        WHEN         ( 
      GROUPING        (出版商) 
      =        1         ) 
      THEN        '        小計(jì)        '        ELSE        ISNULL        (出版商, 
      '        UNKNOWN        '        )        
        END        AS         出版商 ,        
        SUM        (價(jià)格1) 
      AS         價(jià)格1 ,        
        SUM        (價(jià)格2) 
      AS         價(jià)格2        FROM        @T        GROUP        BY         名稱 ,

        出版商        
        WITH         ROLLUP

 

WITH CUBE 結(jié)果集:
張軍博客  

WITH ROLLUP 結(jié)果集:
張軍博客  

GROUPING結(jié)果集:
張軍博客  

 【T-SQL系列】WITH ROLLUP、WITH CUBE、GROUPING語(yǔ)句的應(yīng)用  


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 91手机视频在线观看 | 欧美一级久久 | 久久午夜一区二区 | 国产在线一区二区三区 | 久久精品动漫 | 日本一级~片免费永久 | 99热久久这里只精品国产 | 久久加久久 | 亚洲一区二区三区播放在线 | 97视频免费在线 | 在线羞羞视频 | 日本护士a做爰免费观看 | 久久99精品这里精品3 | 精品久久久中文字幕一区 | 偷偷狠狠的日日高清完整视频 | 美女羞羞视频网站 | 久草视频免费在线观看 | 一本到亚洲网 | 国产成人综合高清在线观看 | 国产aaaaaa| 亚洲另类图片专区 | 97精品在线观看 | 久久久久综合网 | 亚洲一区二区三区精品影院 | 国产中文字幕第一页 | 国产亚洲一区二区三区在线 | 天天干天天操天天 | julia紧身裙中文字幕在线看 | 亚洲精品美女在线观看 | 宅男影院在线观看 | 亚洲伦理视频 | 四虎免费大片aⅴ入口 | 国产成人精品亚洲777图片 | 久久青草免费免费91线频观看 | 99热国产| 久久精品亚洲精品国产欧美 | 图片专区亚洲 欧美 另类 | 91精品国产自产91精品 | 国产精品日本一区二区在线播放 | 免费网站啪啪大全 | 国产剧情自拍 |