国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

新手上路:Oracle分析函數學習筆記一

2024-08-29 13:37:44
字體:
來源:轉載
供稿:網友

  環境:windows 2000 server + Oracle8.1.7 + sql*plus
  
  目的:以oracle自帶的scott模式為測試環境,主要通過試驗體會分析函數的用法。
  
  1.row_number() 的使用
  原表信息:
  
  SQL> break on deptno skip 1 -- 為效果更明顯,把不同部門的數據隔段顯示。
  SQL> select deptno,ename,sal
  2 from emp
  3 order by deptno,sal desc;
  
  DEPTNO ENAME       SAL
  ---------- ---------- ----------
      10 KING       5000
        CLARK      2450
        MILLER      1300
  
      20 SCOTT      3000
        FORD       3000
        JONES      2975
        ADAMS      1100
        SMITH       800
  
      30 BLAKE      2850
        ALLEN      1600
        TURNER      1500
        WARD       1250
        MARTIN      1250
        JAMES       950
  
  
  已選擇14行。
  
  
  使用row_number()查出各部門薪水最高的三個員工姓名、薪水,多于三個的只取三個。
  
  SQL> select * from (
  2 select deptno,row_number() over(partition by deptno order by sal desc) rw,ename,sal
  3 from emp
  4 )
  5 where rw<=3;
    DEPTNO     RW ENAME       SAL
  ---------- ---------- ---------- ----------
      10     1 KING       5000
            2 CLARK      2450
            3 MILLER      1300
  
      20     1 SCOTT      3000
            2 FORD       3000
            3 JONES      2975
  
      30     1 BLAKE      2850
            2 ALLEN      1600
            3 TURNER      1500
  
  
  已選擇9行。
  
  體會:row_number() 返回的主要是“行”的信息,并沒有按照sal排名,如
  20     1 SCOTT      3000
  2 FORD       3000
  scott與ford薪水一樣多,ford前面的2僅僅是行數、記錄條數的感念。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌乐县| 昂仁县| 仲巴县| 酒泉市| 漯河市| 潍坊市| 福海县| 军事| 贵州省| 保康县| 霍山县| 镇雄县| 富裕县| 德格县| 中西区| 应用必备| 长宁县| 莱芜市| 桂阳县| 宝丰县| 宁波市| 保德县| 霸州市| 岐山县| 城口县| 即墨市| 武清区| 田阳县| 湖北省| 海兴县| 澳门| 彭山县| 札达县| 英吉沙县| 石首市| 凌云县| 攀枝花市| 阳春市| 天峻县| 河池市| 根河市|