over partition by與group by 的區別

          over partition by 與 group by 都是與統計類函數用,這兩個有什么區別呢?
          目前我只知道一個這樣的區別:
          比如有一張表saraly:CREATE TABLE SALARY AS SELECT 'A' NAME,10 DEPT,1000 SALARY FROM DUAL UNION ALL SELECT 'B',10,2000 FROM DUAL UNION ALL SELECT 'C' ,20,1500 FROM DUAL UNION ALL SELECT 'D',20,3000 FROM DUAL UNION ALL
          SELECT 'E',10,1000 FROM DUAL;
          NAME DEPT SALARY
          A         10     1000
          B         10     2000
          C         20     1500
          D         20     3000
          E         10     1000   
          用over partition by 我就可以查詢到每位員工本來的具體信息和它所在部門的總工資:
          select name,dept,salary,sum(salary) over (partition by dept) total_salary from salary;  
          name       dept         salary      tatal_salary
          A        10        1000        4000
          B        10        2000        4000
          E        10        1000        4000
          C        20        1500        4500
          D        20        3000        4500

          用goup by 就沒辦法做到這點,只能查詢到每個部門的總工資:
          select dept,sum(salary) total_salary from salary group by dept
          dept        total_salary
          10        4000
          20        4500
          另外over partion by 還可以做到查詢每位員工占部門總工資的百分比:
          select name,dept,salary,salary*100/sum(salary) over (partition by dept) percent from salary;

          name       dept         salary     percent
          A        10        1000        25
          B        10        2000        50
          E        10        1000        25
          C        20        1500        33.3333333333333
          D        20        3000        66.6666666666667

          posted on 2009-12-03 22:34 飛熊 閱讀(790) 評論(0)  編輯  收藏 所屬分類: ORACLE

          <2009年12月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 清丰县| 广西| 东乡族自治县| 南岸区| 井研县| 紫金县| 玉田县| 扬中市| 邹城市| 增城市| 吴忠市| 肥东县| 昆山市| 怀远县| 宣恩县| 曲阜市| 普兰店市| 大方县| 肇庆市| 奉化市| 北票市| 内丘县| 湄潭县| 南靖县| 东乌珠穆沁旗| 阿拉善盟| 景东| 萨迦县| 枝江市| 洪洞县| 兴海县| 寿光市| 类乌齐县| 阿尔山市| 长顺县| 台南市| 滨海县| 伊春市| 民权县| 玛多县| 沙雅县|