-
[ORACLE] SELECT 조회된 데이터 순번 매기기(ROWNUM/ROW_NUMBER())IT/DATABASE 2020. 3. 12. 10:17
SELECT문에서 조회 결과로 나온 데이터들에 순번을 매기고 싶다면
ROWNUM과 ROW_NUMBER()을 이용할 수 있다.
가장 간단하게
(ROWNUM 기본)
SELECT ROWNUM, NAME, DAY
FROM STUDENT
와 같은 형태로 작성할 수 있다.
ROWNUM
NAME
DAY
1
PARK
2020.02
2
LEE
2020.01
3
MIN
2020.04
4
KIM
2020.03
위와 같은 형식의 조회결과를 얻을 수 있을 것이다.
ROWNUM도 임시로 이름을 붙여 조회할 수 있다.
SELECT ROWNUM AS SEQ, NAME, DAY
FROM STUDENT
SEQ
NAME
DAY
1
PARK
2020.02
2
LEE
2020.01
3
MIN
2020.04
4
KIM
2020.03
ORDER BY를 통해 정렬할 수 도 있는데
SELECT ROWNUM AS SEQ, NAME, DAY
FROM STUDENT
ORDER BY DAY ASC이때 DAY순으로 역으로 정렬하면
SELECT ROWNUM AS SEQ, NAME, DAY
FROM STUDENT
ORDER BY DAY DESCSEQ
NAME
DAY
4
MIN
2020.04
3
KIM
2020.03
2
PARK
2020.02
1
LEE
2020.01
이런식으로 조회가 된다!!!
만일 DAY를 역순으로 ROWNUM을 순서대로 하고싶으면 ROW_NUMBER()를 사용하면 쉽다
(ORDER BY된 결과에 순번을 매길때에는 ROW_NUMBER()함수가 더 편하다고한다)
SELECT ROW_NUMBER() OVER(ORDER BY DAY) AS SEQ, NAME, DAY
FROM STUDENT
//ORDER BY DAY DESC (써도되고 안써도 된다)SEQ
NAME
DAY
1
MIN
2020.04
2
KIM
2020.03
3
PARK
2020.02
4
LEE
2020.01
데이터들을 원하는 순번대로 조회하고 싶다면 알맞게 골라 쓰도록 하자!
참고
'IT > DATABASE' 카테고리의 다른 글
[ORACLE] 컬럼 데이터타입 변경 SQL문(ALTER사용) (2) 2019.11.08 [mybatis] 게시판 검색기능 쿼리 (0) 2019.05.16 [DB] 오라클(Oracle) 11g Express Edition 설치 (5) 2019.01.03