이 문제는 2가지 방법으로 풀었다.
-- 첫번째 풀이. UNION ALL 사용
SELECT FLAVOR
FROM (
SELECT FLAVOR, TOTAL_ORDER FROM FIRST_HALF
UNION ALL
SELECT FLAVOR, TOTAL_ORDER FROM JULY
) BASE
GROUP BY FLAVOR
ORDER BY SUM(TOTAL_ORDER) DESC
LIMIT 3
위 풀이처럼 척척척 풀고 ACCEPTED 되었는데, 제목을 보니 JOIN 파트였던 것...
물론 JOIN을 안 쓰고 풀었다고 해서 잘못된 건 아니지만, JOIN 파트 문제면 JOIN을 써 봐야 하지 않을까 싶어서 UNION 대신 JOIN을 쓰고 풀어 보았다.
-- 2번째 풀이. JOIN 사용
SELECT F.FLAVOR
FROM FIRST_HALF F
JOIN JULY J
ON F.FLAVOR = J.FLAVOR
GROUP BY F.FLAVOR
ORDER BY (F.TOTAL_ORDER + SUM(J.TOTAL_ORDER)) DESC
LIMIT 3
'코딩테스트 > SQL - 프로그래머스' 카테고리의 다른 글
SQL 고득점 kit(GROUP BY) - 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 (0) | 2024.03.01 |
---|---|
SQL 고득점 kit(GROUP BY) - 조건에 맞는 사원 정보 조회하기 (0) | 2024.03.01 |
SQL 고득점 kit(IS NULL) - 업그레이드 할 수 없는 아이템 구하기 (0) | 2024.02.20 |
SQL 고득점 kit(GROUP BY) - 입양 시각 구하기(2) (0) | 2024.02.19 |
SQL 고득점 kit(GROUP BY) - 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2024.02.19 |