SQL에서는 CASE WHEN, IF문과 집계 함수(SUM, MAX, AVG)를 사용해 피벗 테이블 구현합니다.
피벗 테이블은 데이터를 집계하여 행과 열로 요약된 형태로 표현할 수 있게 해줍니다.


예시: 학생별 과목 성적을 피벗 테이블로 정리

SELECT student_id,
       MAX(CASE WHEN subject = 'Math' THEN grade END) AS Math,
       MAX(CASE WHEN subject = 'Science' THEN grade END) AS Science,
       MAX(CASE WHEN subject = 'English' THEN grade END) AS English
FROM student_grades
GROUP BY student_id;

pivot-max

  • CASE WHEN을 사용해 과목별로 grade값 추출

  • MAX함수는 동일한 student_id를 가진 행을 하나로 합침

  • GROUP BY student_id를 통해 학생별로 데이터 집계

태그:

카테고리:

업데이트: