https://school.programmers.co.kr/learn/courses/30/lessons/133027
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 해석
1. TOTAL_ORDER 상위 랭킹 3개를 출력하는 문제이다
문제 풀이
1. CTE를 이용해 미리 FIRST_HALF과 JULY 테이블의 총합을 구해서 정렬한 파생 테이블을 만들었다.
2. 그리고 LIMIT을 활용해 상위 3개만 뽑아오도록 구현했다.
WITH RANKDATA AS (
SELECT
F.FLAVOR,
SUM(F.TOTAL_ORDER + J.TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF F
INNER JOIN JULY J ON F.FLAVOR = J.FLAVOR
GROUP BY F.FLAVOR
ORDER BY TOTAL_ORDER DESC
)
SELECT FLAVOR
FROM RANKDATA
LIMIT 3
'코딩테스트 > SQL' 카테고리의 다른 글
[SQL Lv2] 입양 시각 구하기(1) (0) | 2024.11.26 |
---|---|
[SQL Lv3] 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.11.26 |
[SQL Lv4] 특정 세대의 대장균 찾기 (0) | 2024.11.18 |
[SQL Lv3] 대장균의 크기에 따라 분류하기 1 (0) | 2024.11.18 |
[SQL Lv3] 대장균들의 자식 수 구하기 (1) | 2024.11.14 |
댓글