• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Oracle分析函數學習筆記1

    發表于:2007-07-13來源:作者:點擊數: 標簽:
    環境: windows 2000 server + Oracle 8.1.7 + sql *plus 目的:以 oracle 自帶的scott模式為 測試環境 ,主要通過試驗體會分析函數的用法。 1.row_number() 的使用 原表信息: SQL break on deptno skip 1 -- 為效果更明顯,把不同部門的數據隔段顯示。 SQL
    環境: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僅僅是行數、記錄條數的感念。

      

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>