## 네이버 블로그에 포스팅한 내용 옮겨오기
SQL Server에서 중복제거 및 정렬 동시에 하기
중복제거로 자주쓰는 DISTINCT 키워드와 정렬문인 ORDER BY절에 오는 정렬 컬럼이 상이해서 같이 쓰기 곤란한 경우
ROW_NUMBER ~ PARTITION BY 절을 사용해보자.
SELECT ROW_NUMBER() OVER (PARTITION BY [중복제거컬럼] ORDER BY [정렬컬럼])
FROM [테이블명]
-- 예시: Product 테이블에서 ProductID, seq 컬럼으로 중복제거 후 OrderDate 순서로 정렬하기
SELECT ProductID
, seq
, OrderDate
, ROW_NUMBER() OVER (PARTITION BY ProductID, seq ORDER BY OrderDate) as row_num
FROM Product
WHERE row_num = 1
--> row_num을 같이 조회하고싶지 않은 경우 위 테이블을 FROM절 임시테이블로 넣어서 쓰자.