HACKERRANK 15일차

U_in_joy·2022년 7월 11일
0

SQL

목록 보기
15/16
post-thumbnail

window function:

SELECT WINDOW_FUNCTION (ARGUMENTS) OVER ( [PARTITION BY 칼럼]] [ORDER BY] [WINDOWING 절] )
 FROM 테이블 명;

정답 코드
출처 : https://didu-story.tistory.com/95

SELECT
	MAX(CASE WHEN Occupation = 'Doctor' THEN Name END) AS 'Doctor',
    MAX(CASE WHEN Occupation = 'Professor' THEN Name END) AS 'Professor',
    MAX(CASE WHEN Occupation = 'Singer' THEN Name END) AS 'Singer',
    MAX(CASE WHEN Occupation = 'Actor', THEN Name END) AS 'Actor',
FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY OCCUPATION ORDER BY NAME) RN
      FROM OCCUPATIONS) TEMP
GROUP BY RN;
  • 서브쿼리 부분 이해 다시 필요함

ROW_NUMBER 함수
RANK나 DENSE_RANK 함수가 동일한 값에 대해서는 동일한 순위를 부여하는데 반해, 동일한 값이라도 고유한 순위를 부여한다.

profile
끝까지 가자!

0개의 댓글