728x90
반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/133027?language=oracle
정답
-- 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF
-- 7월의 아이스크림 주문 정보를 담은 JULY
-- (7월 아이스크림 총 주문량 + 상반기의 아이스크림 총 주문량)
-- 상위 3개의 맛을 조회하는 SQL 문을 작성해주세요.
SELECT B.FLAVOR
FROM (
SELECT A.FLAVOR, SUM(A.TOTAL_ORDER) AS TOTAL_ORDER FROM (
SELECT FLAVOR, TOTAL_ORDER FROM FIRST_HALF
UNION
SELECT FLAVOR, TOTAL_ORDER FROM JULY
) A
GROUP BY A.FLAVOR
ORDER BY TOTAL_ORDER DESC) B
WHERE ROWNUM < 4
- UNION을 하면 중복값 제외, UNION ALL 을 쓰면 중복값 포함이다
- GROUP BY 된 채로 ORDER BY를 사용할 수 있다!
SELECT A.FLAVOR, SUM(A.TOTAL_ORDER) AS TOTAL_ORDER FROM (
SELECT FLAVOR, TOTAL_ORDER FROM FIRST_HALF
UNION
SELECT FLAVOR, TOTAL_ORDER FROM JULY
) A
GROUP BY A.FLAVOR
ORDER BY TOTAL_ORDER DESC

728x90
반응형
'SQL' 카테고리의 다른 글
오라클 설치할 수 없을 때 : Oracle Apex (0) | 2024.06.11 |
---|---|
[프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2024.02.15 |
[프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기 (0) | 2024.01.08 |