DB

[DB][MSSQL] ROW_NUMBER()

오선지♬ 2022. 7. 22. 18:52
728x90
반응형

ROW_NUMBER() 은

1. 조회 개수를 제한 하는 경우

2. 조회 순번을 매기는 경우 에 많이 사용한다.

 

1. 조회 개수를 제한하는 경우

 

SELECT 절에 TOP(개수)를 사용하여 조회 개수를 제한할 수 있다.

EX)

SELECT TOP(4) WITH TIES
       job
     , deptno
  FROM emp
 ORDER BY job, deptno

 

 

2. 조회 순번을 매기는 경우

 

EX)

SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS rownum
     , ename
     , job
     , sal
  FROM emp
 WHERE sal > 2000

ROW_NUMBER 함수를 사용할 때는 ORDER BY를 필수로 사용해야하는데, 의미없는 

(SELECT 1)을 부여하여 ORDER BY 없이 조회된 결과의 순번을 부여한다.

 

 

EX)

SELECT ROW_NUMBER() OVER(ORDER BY sal DESC) AS rownum
     , ename
     , job
     , sal
  FROM emp
 WHERE sal > 2000

ORDER BY에 정렬 컬럼을 사용하면 정렬 후 순번이 부여된다.

728x90
반응형

'DB' 카테고리의 다른 글

[DB][Mysql] 여러 개의 조건 걸기  (0) 2022.08.02
[DB] 컬럼 alias와 테이블 alias  (0) 2022.08.01
[DB][Mysql] sql 작성 순서와 실행 순서 암기!  (0) 2022.07.20
[DB][Mysql] CASE() 함수  (0) 2022.07.18
[DB][Mysql] 문자열 함수  (0) 2022.07.17