깊이 연구:oracle 중 rownumber()over()분석 함수 용법
3850 단어 row number()over()분석 함수
select rownum,ename,job,
row_number() over (order by rownum) row_number
from emp;
ROWNUM ENAME JOB ROW_NUMBER
---------- ---------- --------- ----------
1 SMITH CLERK 1
2 ALLEN SALESMAN 2
3 WARD SALESMAN 3
4 JONES MANAGER 4
5 MARTIN SALESMAN 5
6 BLAKE MANAGER 6
7 CLARK MANAGER 7
8 SCOTT ANALYST 8
9 KING PRESIDENT 9
10 TURNER SALESMAN 10
11 ADAMS CLERK 11
12 JAMES CLERK 12
13 FORD ANALYST 13
14 MILLER CLERK 14
partition by 자구 가 없 으 면 결과 집합 은 order by 가 지정 한 열 에 따라 정렬 됩 니 다
with row_number_test as(
select 22 a,'twenty two' b from dual union all
select 1,'one' from dual union all
select 13,'thirteen' from dual union all
select 5,'five' from dual union all
select 4,'four' from dual)
select a,b,
row_number() over (order by b)
from row_number_test
order by a;
우리 가 기대 하 는 바 와 같이 rownumber()는 b 열 에 따라 정렬 한 결 과 를 되 돌려 주 고 a 에 따라 정렬 한 다음 에 다음 과 같은 결 과 를 얻 을 수 있 습 니 다
A B ROW_NUMBER()OVER(ORDERBYB)
-- ---------- --------------------------
1 one 3
4 four 2
5 five 1
13 thirteen 4
22 twenty two 5
2.rownumber() over (partition by col_n[,col_m ...] order by col_1[,col_2...]역할:col 에 따라n[,col_m...조 를 나 누고 각 조 에서 col1[,col_2...]정렬(오름차 순)을 하고 마지막 에 정렬 된 결과 집합 을 되 돌려 줍 니 다
with row_number_test as(
select 22 a,'twenty two' b,'*' c from dual union all
select 1,'one','+' from dual union all
select 13,'thirteen','*' from dual union all
select 5,'five','+' from dual union all
select 4,'four','+' from dual)
select a,b,
row_number() over (partition by c order by b) row_number
from row_number_test
order by a;
이 예 에서 우 리 는 먼저 c 열 에 따라 2 조('*'조,'+'조)로 나 눈 다음 에 각 그룹의 b 열 에 따라 정렬(문자열 이니셜 의 ascii 코드 로 배열)하고 마지막 에 a 열 에 따라 정렬 하여 다음 결과 집합 을 얻 습 니 다
A B ROW_NUMBER
-- ---------- ----------
1 one 3
4 four 2
5 five 1
13 thirteen 1
22 twenty two
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 연구:oracle 중 rownumber()over()분석 함수 용법row_number()over(partition by col 1 order by col 2)는 col 1 에 따라 그룹 을 나 누고 그룹 내부 에서 col 2 에 따라 정렬 하 는 것 을 나타 내 며 이 함수 가 계...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.