row_number() 는 sql 의 내장 함수로 결과 집합의 각 행에 고유한 숫자를 할당하는 역할을 한다
순서 번호를 필요로 하는 쿼리에서 사용한다
row_number() over ([partition by 그룹핑할 컬럼] order by 정렬할 컬럼 [asc|desc])
그룹핑할 컬럼 :'무엇'에 대해 순서를 매길 것인가?
정렬할 컬럼 : 순서를 매길 때 기준은 '무엇'으로 할 것인가?
예)
select employee_id
,job_id
,end_date
,row_number() over(partition by employee_id order by end_date desc) as rn
from hr.job_history;
>>> 동일한 employee_id 에 대하여 end_date 가 최신인 순으로 매겨 컬럼 rn 으로 한다
'공부 > sql' 카테고리의 다른 글
| 계층적 쿼리 SYS_CONNECT_BY_PATH (0) | 2025.05.28 |
|---|---|
| ROLLUP (0) | 2025.05.28 |
| CONNECT BY LEVEL (0) | 2025.05.28 |
| GRANT에 사용된 RESOURCE 키워드 (0) | 2025.05.28 |
| 시퀀스 (0) | 2025.05.28 |