반응형
문제 링크입니다!
Occupations | HackerRank
Pivot the Occupation column so the Name of each person in OCCUPATIONS is displayed underneath their respective Occupation.
www.hackerrank.com
문제
=> 각 이름을 알파벳 순으로 정렬하고 해당 직업 아래에 표시되도록 직업 열을 피벗해라.
출력 열 머리글은 각각 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(Transact-SQL) - SQL Server
ROW_NUMBER 함수의 Transact-SQL 참조입니다. 이 함수는 결과 집합의 출력 번호를 매깁니다.
docs.microsoft.com
PIVOT 및 UNPIVOT 사용 - SQL Server
PIVOT 및 UNPIVOT 관계형 연산자의 Transact-SQL 참조입니다. SELECT 문에 해당 연산자를 사용하여 테이블 반환 식을 다른 테이블로 변경할 수 있습니다.
docs.microsoft.com
'HackerRank - MS SQL Server' 카테고리의 다른 글
[해커랭크/MS SQL] New Companies (0) | 2022.03.24 |
---|---|
[해커랭크/MS SQL] Binary Tree Nodes (0) | 2022.03.24 |
[해커랭크/MS SQL] The PADS (0) | 2022.03.23 |
[해커랭크/MS SQL] Type of Triangle (0) | 2022.03.23 |
[해커랭크/MS SQL] Population Density Difference (0) | 2022.03.23 |
댓글