SQL 문제풀이 001 (pivot)
Hackerrank
Occupations
Hackerrank 에 있는 Pivot 문제를 풀어 보도록 하겠습니다.
문제해설
1. 위 그림과 같이 정의된 테이블을 pivot하여 직업별 컬럼으로 재구성하라
2.
- 첫번째 컬럼: 의사
- 두번째 컬럼: 교수
- 세번째 컬럼: 가수
- 네번째 컬럼: 배우
3.이름이 NULL 인 경우 NULL 로 표기한다.
4.이름을 알파벳 순으로 정렬하라.
STEP 1.
SELECT name
,occupation
,row_number()over(partition by occupation order by name)
FROM OCCUPATIONS;
STEP2.
SELECT
MIN(CASE WHEN OCCUPATION = 'DOCTOR'THEN NAME ELSE NULL END) DOCTOR
,MIN(CASE WHEN OCCUPATION ='ACTOR'THEN NAME ELSE NULL END) ACTOR
,MIN(CASE WHEN OCCUPATION = 'SINGER' THEN NAME ELSE NULL END) SINGER
,MIN(CASE WHEN OCCUPATION = 'PROFESSOR'THEN NAME ELSE NULL END) PROFESSOR
FROM(
SELECT name
,occupation
,row_number()over(partition by occupation order by name) RN
FROM OCCUPATIONS)
GROUP BY RN
ORDER BY RN;
결과를 나타 낼 수 있다.
Author And Source
이 문제에 관하여(SQL 문제풀이 001 (pivot)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@plmnj2003/SQL-문제풀이-001-pivot저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)