[SQL] 프로그래머스 LV.4 주문량이 많은 아이스크림들 조회하기

2025. 8. 18. 16:28·프로그래밍 언어/02. SQL

https://school.programmers.co.kr/learn/courses/30/lessons/133027

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

🔍 문제

7월 아이스크림 총 주문량과 상반기의 아이스크림 총 주문량을 더한 값이 큰 순서대로 상위 3개의 맛을 조회하는 SQL 문을 작성해주세요.


🎯정답

-- 내 풀이
WITH TOTAL_SALES AS (
    WITH JULY_ORDER AS (
        SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDER
        FROM JULY
        GROUP BY FLAVOR
        )

    SELECT H.FLAVOR, H.TOTAL_ORDER + O.TOTAL_ORDER AS TOTAL_ORDER
    FROM FIRST_HALF H JOIN JULY_ORDER O ON H.FLAVOR = O.FLAVOR
    GROUP BY H.FLAVOR
    ORDER BY TOTAL_ORDER DESC
    LIMIT 3
    )

SELECT FLAVOR
FROM TOTAL_SALES
-- GEMINI 풀이
SELECT H.FLAVOR
FROM FIRST_HALF H JOIN JULY J ON H.FLAVOR = J.FLAVOR
GROUP BY H.FLAVOR
ORDER BY SUM(H.TOTAL_ORDER) + SUM(J.TOTAL_ORDER) DESC
LIMIT 3;

❓풀이

  • 내 풀이는 WITH 로 서브 테이블을 생성해서 푸는 방법이였는데, 너무나 간단한 풀이가 있었다.
  • ORDER BY 절에서는 SELECT 절에 있는 별칭(ALIAS)이나 집계 함수를 사용한 계산식을 직접 사용해서 정렬할 수 있습니다.ORDER BY 절은 데이터베이스가 SELECT 절의 결과를 최종적으로 출력하기 전에 정렬하는 단계에서 작동합니다. 따라서 SELECT 절에서 계산된 값(SUM, COUNT, AVG 등)을 기준으로 정렬하는 것이 가능합니다.
    1. GROUP BY 단계에서 각 맛(FLAVOR)별로 모든 주문량의 합계가 계산됩니다.
    2. ORDER BY 단계에서 이 계산된 값(상반기 합계 + 7월 합계)을 기준으로 전체 결과를 내림차순으로 정렬합니다.
  • 예를 들어, 방금 보셨던 쿼리에서 ORDER BY SUM(H.TOTAL_ORDER) + SUM(J.TOTAL_ORDER) DESC는 다음과 같은 원리로 작동합니다.

 

'프로그래밍 언어 > 02. SQL' 카테고리의 다른 글

[SQL] 프로그래머스 LV.4 오프라인/온라인 판매 데이터 통합하기  (2) 2025.08.26
[SQL] 프로그래머스 LV.4 그룹별 조건에 맞는 식당 목록 출력하기  (0) 2025.08.25
[SQL] 프로그래머스 LV.4 서울에 위치한 식당 목록 출력하기  (1) 2025.08.18
[SQL] 프로그래머스 LV.3 년, 월, 성별 별 상품 구매 회원 수 구하기  (2) 2025.08.17
[SQL] 프로그래머스 LV.4 저자 별 카테고리 별 매출액 집계하기  (1) 2025.08.17
'프로그래밍 언어/02. SQL' 카테고리의 다른 글
  • [SQL] 프로그래머스 LV.4 오프라인/온라인 판매 데이터 통합하기
  • [SQL] 프로그래머스 LV.4 그룹별 조건에 맞는 식당 목록 출력하기
  • [SQL] 프로그래머스 LV.4 서울에 위치한 식당 목록 출력하기
  • [SQL] 프로그래머스 LV.3 년, 월, 성별 별 상품 구매 회원 수 구하기
dalleeoppaa
dalleeoppaa
DA, GIS 공부 기록
  • dalleeoppaa
    달래오빠
    dalleeoppaa
  • 전체
    오늘
    어제
    • 분류 전체보기 (113) N
      • GIS (22)
        • 01. GIS TIL (13)
        • 02. OpenSource Geo Data (6)
        • 03.사이드 프로젝트 (1)
      • 프로젝트 (6)
        • 01. 상권분석 지도 (3)
        • 02. olist 고객 RFM 분석 (3)
      • PointCloud (1)
      • 프로그래밍 언어 (58) N
        • 01. Python (1)
        • 02. SQL (49)
        • 03. C++ (3) N
        • 04. TIL (5) N
      • 데이터분석 (23)
        • 01. Google Cloud Platform (1)
        • 02. GA4 & GTM (1)
        • 03. LookerStudio (4)
        • 04. Apach Spark (7)
        • 05. 데이터 시각화 (10)
      • 인턴 (2)
        • 01. NPL (2)
        • 02. TIL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    c++독학
    프로그래머스SQL
    데이터분석가
    PostgreSQL
    MySQL
    데이터분석취준
    태블로신병훈련소
    GIS
    태블로부트캠프
    프로그래머스
    코딩테스트
    태블로연습
    sql코테
    프로그래머스lv3
    프로그래머스코테
    SQL
    postgresql연습
    데이터분석가코테
    데이터분석
    solvesql
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
dalleeoppaa
[SQL] 프로그래머스 LV.4 주문량이 많은 아이스크림들 조회하기
상단으로

티스토리툴바