[MSSQL] 순서 매기기 - ROW_NUMBER() OVER

 

 

 

이런 예는 싫지만

예를 들어 과목별 등수를 매겨야 할 때가 있습니다

그런 경우 등에 사용 됩니다

 


   왼쪽 데이터를 가지고, 오른쪽 처럼

과목별 등수를 추가 하고 싶을때 사용합니다

결과1결과2

 

이제 쿼리를 보겠습니다


  
WITH T_TABLE01 AS

(SELECT '수학' AS '과목', '철수' AS '이름', 100 AS '점수'

 UNION

 SELECT '수학' AS '과목', '영희' AS '이름' , 90 AS '점수' 

 UNION

 SELECT '과학' AS '과목', '철수' AS '이름', 50 AS '점수' 

 UNION

 SELECT '과학' AS '과목', '영희' AS '이름', 80 AS '점수' 

)

SELECT ROW_NUMBER() OVER(PARTITION BY A.과목 ORDER BY A.과목, A.점수 DESC) AS '등수'

         , A.*

FROM T_TABLE01 A

 

 

코딩을먹자 따라하는 코딩교육

Posted by JOY [바가지]

댓글을 달아 주세요



티스토리 툴바