본문 바로가기

DB/mssql

[mssql] 특정 그룹의 첫번째만 가져올때



SELECT {{컬럼들}}
  FROM (
	SELECT RANK() OVER(PARTITION BY {{그룹으로 묶을 키 컬럼}} ORDER BY {{그룹안에서 정렬할 컬럼}} ) AS rowNum , {{컬럼들}}
	  FROM {{대상 테이블}} AS f WITH(NOLOCK, INDEX({{인덱스}}))
	 WHERE {{조건들}}
  ) AS a
 WHERE a.rowNum = 1