ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 DESC


     SEQ

     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



    데이터들을 원하는 순번대로 조회하고 싶다면 알맞게 골라 쓰도록 하자! 






    참고

    https://gent.tistory.com/170

    댓글

Designed by Tistory.