본문 바로가기

Database/MS SQL

MS SQL。순위 함수(RANK, ROW_NUMBER, DENSE_RANK, ...)

728x90
반응형

# RANK

정렬된 데이터 중 중복 값은 동일한 순위, 중복 값 다음 값은 중복 순위의 +중복값 개수의 순위를 부여하는 함수

 

SELECT RANK() OVER (ORDER BY [필드] ASC/DESC)
  FROM [테이블명]

 

 

# ROW_NUMBER

정렬된 데이터를 순차적으로 순위를 부여하는 함수

 

SELECT ROW_NUMBER() OVER (ORDER BY [필드] ASC/DESC)
  FROM [테이블명]

 

 

# DENSE_RANK

정렬된 데이터 중 중복 값은 동일한 순위, 중복 값 다음 값은 중복 순위의 +1 순위를 부여하는 함수

 

SELECT DENSE_RANK() OVER (ORDER BY [필드] ASC/DESC)
  FROM [테이블명]

 

 

# NTILE

정렬된 데이터를 등분하는 함수

 

SELECT NTILE([등분]) OVER (ORDER BY [필드] ASC/DESC)
  FROM [테이블명]

 

 

# PARTITION BY

파티션을 지정하여 정렬된 데이터 안에서 순위를 부여하는 함수

 

SELECT RANK() OVER (PARTITION BY [필드] ORDER BY [필드] ASC/DESC)
  FROM [테이블명]

 

728x90
반응형