음식 타입별, 연령별 주문건수 PIVOT VIEW 만들기
1. 음식 타입별, 연령별 주문건수 pivot view 만들기 (연령은 10~59세 사이)
- SQL 기본구조 작성하기
- Pivot view 를 만들기 위해 필요한 데이터 가공하기
- Pivot view 문법에 맞추어 수정하기
작성한 코드
select cuisine_type,
max(if(age_group = 10, cnt_orders,0)) "10",
max(if(age_group = 20, cnt_orders,0)) "20",
max(if(age_group = 30, cnt_orders,0)) "30",
max(if(age_group = 40, cnt_orders,0)) "40",
max(if(age_group = 50, cnt_orders,0)) "50"
FROM
(
SELECT f.cuisine_type,
case when age between 10 and 19 then 10
when age between 20 and 29 then 20
when age between 30 and 39 then 30
when age between 40 and 49 then 40
when age between 50 and 59 then 50 end age_group,
count(1) as cnt_orders
FROM food_orders f inner join customers c on f.customer_id = c.customer_id
where age between 10 and 59
group by cuisine_type, age_group
) a
group by cuisine_type
서브
food_orders, customers 조인, 연령이 10에서 59 사이인 고객들의 주문 수를 연령 그룹별로 계산
case문 사용 age 값을 열령 그룹으로
메인
서브 결과를 가져와 cuisine_type 별로 그룹화
각 요리에 대해 10대 20대 30대 40대 50대 그룹중 많은 주문 수 선택
'SQL문제' 카테고리의 다른 글
내일배움캠프 3주차 (0) | 2024.07.26 |
---|---|
SQL 명령문 (0) | 2024.07.23 |
문제 31. 오랜 기간 보호한 동물 (1) (0) | 2024.07.22 |
문제 30. 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2024.07.19 |
문제 29. 인기있는 아이스크림 (0) | 2024.07.19 |