사용 분석 표

2313 단어 sql
분석 함수 계산 은 줄 그룹 에 기반 한 값 을 계산 하고 rownum 위 열 표현 결 과 를 실현 할 수 있 습 니 다.
select ename ,sal,row_number() over(order by sal desc) as sal_order from emp;

결과:
ENAME             SAL  SAL_ORDER
---------- ---------- ----------
KING             5000          1
SCOTT            3000          2
FORD             3000          3
JONES            2975          4
BLAKE            2850          5
CLARK            2450          6
ALLEN            1600          7
TURNER           1500          8
MILLER           1300          9
WARD             1250         10
MARTIN           1250         11
ADAMS            1100         12
JAMES             950         13
SMITH             800         14

sql 구문 에서 줄 의 순서 집합 에서 줄 번 호 를 얻 을 수 있 습 니 다.페 이 시 함 수 는 줄 번호 가 아 닌 것 을 알 기 전에 order by 종 구 를 사용 합 니 다.
select deptno ename ,sal,row_number() over(partition by deptno order by sal desc) as sal_order from emp;

결과:
     ENAME        SAL  SAL_ORDER
---------- ---------- ----------
        10       5000          1
        10       2450          2
        10       1300          3
        20       3000          1
        20       3000          2
        20       2975          3
        20       1100          4
        20        800          5
        30       2850          1
        30       1600          2
        30       1500          3
        30       1250          4
        30       1250          5
        30        950          6

row_number()분석 함 수 는 줄 의 단독 순서 집합 에 만 줄 번 호 를 할당 할 수 있 고 결과 집합 내부 에서 도 사용 할 수 있 습 니 다.
select deptno ,ename, rownum ,sal from (select deptno, ename ,sal, row_number() over(partition by deptno order by sal desc) as sal_order from emp)where sal_order<2

결과:
    DEPTNO ENAME          ROWNUM        SAL
---------- ---------- ---------- ----------
        10 KING                1       5000
        20 SCOTT               2       3000
        30 BLAKE               3       2850

좋은 웹페이지 즐겨찾기