
https://www.hackerrank.com/challenges/occupations/problem?isFullScreen=true
문제
해석
각 이름이 알파벳 순으로 정렬되고 해당 직업 아래에 표시되도록 직업의 직업 열을 피벗합니다. 출력 열 머리글은 각각 Doctor, Professor, Singer, and Actor여야 합니다.참고: 직업에 해당하는 이름이 더 이상 없을 경우 NULL을 인쇄하십시오.
SELECT [Doctor],[Professor],[Singer],[Actor] FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY OCCUPATION ORDER BY NAME) [RowNumber], * FROM OCCUPATIONS ) AS tempTable PIVOT ( MAX(NAME) FOR OCCUPATION IN ([Doctor],[Professor],[Singer],[Actor]) ) AS pivotTable새로 알게된 것
- ROW_NUMBER() OVER ([PARTITION BY value_expression, ... [n]] order_by_clause)
PRTITION된 그룹별 순번 부여 기능- PIVOT
SELECT [PIVOT열1], [PIVOT열2], ...
FROM 테이블명
PIVOT(나타내고자하는 값, FOR 행->열로 바꿀 열 IN ([PIVOT열1], [PIVOT열2], ...)) as 별칭출처: https://doorbw.tistory.com/218?category=743841 [Tigercow.Door]