[MSSQL] 순서 매기기 - ROW_NUMBER() OVER
이런 예는 싫지만
예를 들어 과목별 등수를 매겨야 할 때가 있습니다
그런 경우 등에 사용 됩니다
왼쪽 데이터를 가지고, 오른쪽 처럼
과목별 등수를 추가 하고 싶을때 사용합니다
이제 쿼리를 보겠습니다
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
반응형
'프로그래밍 > DB' 카테고리의 다른 글
[MS-SQL] 특정 월의 마지막 날짜 구하는 두가지 방법 (0) | 2017.09.07 |
---|---|
[MS-SQL] 정규식을 이용한 특수문자 포함 된 데이터 조회 방법 (0) | 2017.09.07 |
[MS-SQL] 컬럼명이 포함 된 테이블 찾는 방법 (0) | 2017.09.01 |
[MS-SQL] 프로시저 커서(CURSOR) 사용 법 (0) | 2017.08.31 |
[MS-SQL] 세로 데이터 가로로 한 컬럼에 담기 - FOR XML PATH (0) | 2017.08.29 |