IT정보공유/DB

[MSSQL] 오라클의 rownum 같은 함수 ROW_NUMBER() 로 순위, 순번을 구하는 방법

알지오™ 2017. 9. 12.

오라클은 rownum 을 제공하기 때문에 선택된 레코드들의 순번을 표기하기가 쉽습니다.

하지만 MS-SQL은 rownum을 제공하지 않기 때문에 다른 방법을 이용해야 합니다.

그럼 어떻게 해야 하는지 한번 방법을 알아 보도록 해야겠지요?

사실 너무나도 간단합니다.


오라클의 ROWNUM 을 대신할 MSSQL의 ROW_NUMBER()

ROW_NUMBER() OVER(ORDER BY 필드 asc)


위의 ROW_NUMBER() OVER 절을 이용하여 순번이나 순차번호를 만들어 줄 수 있습니다.


select ROW_NUMBER() OVER(ORDER BY sq_echo asc) no, * from STC_Echo_Log

이런 형태로, 첫번째 필드 또는 필요한 필드 순서에 맞게 Row_number over 절을 이용하여 순번을 구해올 수 있습니다.

1,2,3,4,5,6,7,8,9 이렇게 연번으로 생성이 됩니다.


OVER 절에 order by 필드명 정렬방식(오름차순, 내림차순) 만 잘 지정해주면 됩니다.


♡ 여러분의 공감이 빅에너지에게 에너지원입니다. 공감, 좋아요 부탁합니다~ 

댓글

💲 추천 글