코딩테스트 | SQL/프로그래머스

[프로그래머스 | SQL] 5월 식품들의 총매출 조회하기

iemxl 2024. 5. 9. 11:54

알고리즘 고득점 Kit > JOIN > 5월 식품들의 총매출 조회하기

 

 

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

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

 

 

 

첫 번째 풀이 :     100점

-- 코드를 입력하세요
SELECT B.PRODUCT_ID, A.PRODUCT_NAME, SUM(A.PRICE * B.AMOUNT) AS TOTAL_SALES
FROM FOOD_PRODUCT A
JOIN FOOD_ORDER B
ON A.PRODUCT_ID = B.PRODUCT_ID
WHERE B.PRODUCE_DATE LIKE '2022-05%'
GROUP BY B.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, B.PRODUCT_ID ASC
  • SELECT > FROM > JOIN > ON > WHERE > GROUP BY > HAVING > ORDER BY

 

 

 

 

두 번째 풀이:     100점

-- 코드를 입력하세요
SELECT B.PRODUCT_ID, A.PRODUCT_NAME, (A.PRICE * B.AMOUNT) AS TOTAL_SALES
FROM FOOD_PRODUCT A
JOIN (SELECT PRODUCT_ID, PRODUCE_DATE, SUM(AMOUNT) AS AMOUNT
      FROM FOOD_ORDER
      WHERE PRODUCE_DATE LIKE '2022-05%'
      GROUP BY PRODUCT_ID) AS B
ON A.PRODUCT_ID = B.PRODUCT_ID
ORDER BY TOTAL_SALES DESC, B.PRODUCT_ID ASC
  • GROUPING한 새로운 TABLE을 만들어서 JOIN