코딩 테스트/SQL

5월 식품들의 총매출 조회하기

susinlee 2024. 12. 12. 11:04

[문제]
FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요.


[단계별 풀이]
1. 두 테이블을 PRODUCT_ID로 JOIN

2. 생산일자가 22년 5월인 행들만 필터링

3. 식품ID나 식품이름으로 GROUP BY

4. 총매출(PRICE * AMOUNT)를 SUM한 뒤 TOTAL_SALES로 지정한다

5. 식품ID, 식품이름, 총매출을 조회한다

6. 총매출을 내림차순, 식품ID를 오름차순 정렬한다


[정답]

SELECT P.PRODUCT_ID,
       PRODUCT_NAME,
       SUM(PRICE*AMOUNT) TOTAL_SALES
FROM FOOD_PRODUCT P
JOIN FOOD_ORDER O
ON P.PRODUCT_ID = O.PRODUCT_ID
WHERE PRODUCE_DATE LIKE '2022-05%'
GROUP BY PRODUCT_ID
ORDER BY TOTAL_SALES DESC, PRODUCT_ID