<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    PS,1880后程序員

    看不完的牙,寫不完的程序,跑不完的步。
    隨筆 - 97, 文章 - 34, 評論 - 10, 引用 - 0
    數據加載中……

    Oracle 逐級匯總

     CREATE TABLE report

      ( id NUMBER(2),

        year NUMBER(4),

        month NUMBER(2),

        amt NUMBER(3)) ;

        

     

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 1, 110 ) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 2, 120) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 3, 130) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 4, 140) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 5, 150) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 6, 160) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 7, 170) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 8, 180) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 9, 190) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 10, 100) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 11, 110) ;

    INSERT INTO report( id, year, month, amt ) VALUES(1, 2011, 12, 110) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 1, 110 ) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 2, 120) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 3, 130) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 4, 140) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 5, 150) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 6, 160) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 7, 170) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 8, 180) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 9, 190) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 10, 100) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 11, 110) ;

    INSERT INTO report( id, year, month, amt ) VALUES(2, 2012, 12, 110) ;

    -- 逐級匯總

     

    select id, year, month, sum(amt) 

      from report 

      group by rollup( id, year, month ) ;

     

            ID       YEAR      MONTH   SUM(AMT)

    ---------- ---------- ---------- ----------

             1       2011          1        220

             1       2011          2        240

             1       2011          3        260

             1       2011          4        280

             1       2011          5        300

             1       2011          6        320

             1       2011          7        340

             1       2011          8        360

             1       2011          9        380

             1       2011         10        200

             1       2011         11        220

             1       2011         12        220

             1       2011                  3340 -- 1, 2011, 小計

             1                             3340 -- 1, 小計

             2       2012          1        110

             2       2012          2        120

             2       2012          3        130

             2       2012          4        140

             2       2012          5        150

             2       2012          6        160

             2       2012          7        170

             2       2012          8        180

             2       2012          9        190

             2       2012         10        100

             2       2012         11        110

             2       2012         12        110

             2       2012                  1670 -- 2, 2012, 小計

             2                             1670 -- 2, 小計

                                           5010 -- 1+2, 總計

     

    如果只要每年的小計, SQL如下

     

    select *

      from (

    select id, year, month, sum(amt) 

      from report 

      group by rollup( id, year, month ) )

      where id is not null

        and year is not null ;

     

            ID       YEAR      MONTH   SUM(AMT)

    ---------- ---------- ---------- ----------

             1       2011          1        220

             1       2011          2        240

             1       2011          3        260

             1       2011          4        280

             1       2011          5        300

             1       2011          6        320

             1       2011          7        340

             1       2011          8        360

             1       2011          9        380

             1       2011         10        200

             1       2011         11        220

             1       2011         12        220

             1       2011                  3340

             2       2012          1        110

             2       2012          2        120

             2       2012          3        130

             2       2012          4        140

             2       2012          5        150

             2       2012          6        160

             2       2012          7        170

             2       2012          8        180

             2       2012          9        190

             2       2012         10        100

             2       2012         11        110

             2       2012         12        110

             2       2012                  1670

     

    posted on 2012-08-09 13:50 amenglai 閱讀(423) 評論(0)  編輯  收藏 所屬分類: 編程語言

    主站蜘蛛池模板: 全黄A免费一级毛片| 亚洲精品无码专区| 成在线人视频免费视频| 成人永久福利免费观看| 亚洲中文字幕久久精品无码A | 男女一边桶一边摸一边脱视频免费| 国产一区视频在线免费观看| 日韩成人精品日本亚洲| 全部免费国产潢色一级| 羞羞视频免费网站日本| 美腿丝袜亚洲综合| a级特黄毛片免费观看| 亚洲高清在线视频| 中文字幕免费视频| 亚洲一区二区三区播放在线 | 久久免费精彩视频| 91亚洲国产成人精品下载| xxxx日本免费| 亚洲国产欧美国产综合一区| 亚洲国产av一区二区三区| 182tv免费视频在线观看| 亚洲一级二级三级不卡| 在线永久免费的视频草莓| 亚洲xxxx视频| 国内精品久久久久久久亚洲| 日韩电影免费在线观看中文字幕| 亚洲黄色网址大全| 暖暖免费高清日本一区二区三区| 人体大胆做受免费视频| 亚洲人成在线影院| 最新猫咪www免费人成| 黄色视屏在线免费播放| 亚洲国产电影在线观看| 四虎国产精品免费视| 免费人成毛片动漫在线播放| 亚洲人成免费电影| 亚洲精品国产综合久久一线| 亚洲免费视频在线观看| 亚洲国产精品精华液| 亚洲成AV人在线观看天堂无码| 毛片基地免费观看|