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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 班戈县| 霸州市| 高台县| 鄂伦春自治旗| 奉新县| 抚顺县| 改则县| 佛学| 开鲁县| 蚌埠市| 萨迦县| 金沙县| 开阳县| 横山县| 韩城市| 阳东县| 大荔县| 隆子县| 清新县| 定远县| 万荣县| 留坝县| 永顺县| 北安市| 永平县| 连城县| 涞源县| 临海市| 丘北县| 涞水县| 嵩明县| 大名县| 南川市| 连南| 上高县| 丰宁| 二连浩特市| 岳普湖县| 桦南县| 博兴县| 河南省|