728x90

1.ROWNUM

조회된 순서되로 순번을 매긴다.

SELECT ROWNUM, A.*
FROM empTable A
ROWNUM empNo empName empJob
1 684123 노나나 변호사
2 754349 김가경 변호사
3 123873 두도담 회계사
4 782645 맹무민 회계사
5 962455 류리리 회계사

 

ORDER BY를 사용하면 순번이 섞일수 있어서 정렬된 서브쿼리 결과에 ROWNUM을 사용해야된다.

SELECT ROWNUM, B.*
FROM (
	SELECT A.*
    FROM empTable A
    ORDER BY A.empName
    ) B
ROWNUM empNo empName empJob
1 684123 김가경 변호사
2 754349 노나나 변호사
3 123873 두도담 회계사
4 782645 류리리 회계사
5 962455 맹무민 회계사

 

2. ROW_NUMBER()

ORDER BY 된 결과에 순번을 매길때는 ROWNUM 보다 ROW_NUMBER()함수가 더 편리하다.

SELECT ROW_NUMBER() OVER(ORDER BY A.empJop, A.empName) rowNum, A.*
FROM empTable A
ORDER BY A.empJop, A.empName
ROWNUM empNo empName empJob
1 684123 김가경 변호사
2 754349 노나나 변호사
3 123873 두도담 회계사
4 782645 류리리 회계사
5 962455 맹무민 회계사

그룹별(PARTITION)로 순번을 따로 부여할 수 있다.

SELECT ROW_NUMBER() OVER(PARTITION BY A.empJop ORDER BY A.empJop, A.empName) rowNum, A.*
FROM empTable A
ORDER BY A.empJop, A.empName
ROWNUM empNo empName empJob
1 684123 김가경 변호사
2 754349 노나나 변호사
1 123873 두도담 회계사
2 782645 류리리 회계사
3 962455 맹무민 회계사
반응형
SMALL

'공부 > Oracle Sql' 카테고리의 다른 글

[Sql] 올림,반올림,내림 관련 쿼리  (0) 2023.02.13
[SQL 기본] 관계형 데이터베이스 개요  (0) 2022.12.25

+ Recent posts