프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. UNION ALL
두개의 테이블을 UNION ALL로 합친 후 GROUP BY로 묶어서 해결할 수 있다.
SELECT FLAVOR
FROM (
SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDER
FROM JULY
GROUP BY FLAVOR
UNION ALL
SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF
GROUP BY FLAVOR
) A
GROUP BY FLAVOR
ORDER BY SUM(TOTAL_ORDER) DESC
LIMIT 3
2. JOIN
JULY에서는 flavor가 같은 레코드가 있을 수 있고, FIRST_HALF에서는 flavor 필드가 key이므로 중복값이 없기 때문에 가능한 방법인 것 같다. JULY 테이블에 이너조인 한 뒤 GROUP BY 후 SUM(JULY)+FIRST_HALF로 원하는 값을 추려낼 수 있다. FIRST_HALF는 SUM으로 묶지 않아야 한다는게 포인트
SELECT JULY.flavor AS FLAVOR
FROM JULY JOIN FIRST_HALF ON JULY.flavor=FIRST_HALF.flavor
GROUP BY JULY.flavor
ORDER BY SUM(JULY.total_order)+FIRST_HALF.total_order DESC
LIMIT 3
'SQL > 프로그래머스 MySQL with code' 카테고리의 다른 글
프로그래머스 MySQL : [lv.3] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2023.07.29 |
---|---|
프로그래머스 MySQL : [lv.3] 자동차 평균 대여 기간 구하기 (0) | 2023.07.09 |
프로그래머스 MySQL : [lv.4] 우유와 요거트가 담긴 장바구니 (0) | 2023.07.08 |
프로그래머스 MySQL : [lv.3] 헤비 유저가 소유한 장소 (0) | 2023.07.07 |
프로그래머스 MySQL : [lv.4] 취소되지 않은 진료 예약 조회하기 (0) | 2023.07.06 |