본문 바로가기

프로그래머스(Oracle)

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

728x90

 

코드 힌트

1. JOIN을 사용한 데이터 결합

  • 두 테이블을 JOIN하여 관련 데이터를 결합합니다.
  • PRODUCT_ID를 기준으로 FOOD_PRODUCT 테이블과 FOOD_ORDER 테이블을 연결하여 필요한 정보를 가져옵니다.

2. 날짜 형식 변환 및 필터링

  • TO_CHAR를 사용하여 날짜 필드를 특정 형식으로 변환할 수 있습니다.
  • PRODUCE_DATE를 'YYYY-MM' 형식으로 변환하여 2022년 5월에 해당하는 데이터를 필터링합니다.

3. 판매 총액 계산

  • SUM 함수로 각 제품의 총 판매 금액을 계산합니다.
  • O.AMOUNT * P.PRICE를 사용하여 판매된 양과 가격을 곱하여 총 금액을 구하고 이를 합산합니다.

4. 결과 정렬

  • ORDER BY 절로 결과를 정렬합니다.
  • TOTAL_SALES 기준으로 내림차순으로 정렬하며, 동일한 금액일 경우 PRODUCT_ID로 추가 정렬합니다.

 


정답은 더보기 클릭

더보기
SELECT P.PRODUCT_ID, P.PRODUCT_NAME, SUM(O.AMOUNT * P.PRICE) AS TOTAL_SALES 
-- 각 제품의 ID, 이름, 총 판매 금액을 조회

FROM FOOD_PRODUCT P
JOIN FOOD_ORDER O 
-- FOOD_PRODUCT 테이블과 FOOD_ORDER 테이블을 제품 ID를 기준으로 조인

ON P.PRODUCT_ID = O.PRODUCT_ID 
-- 조인 조건: 제품 ID가 같은 행끼리 연결

WHERE TO_CHAR(O.PRODUCE_DATE, 'YYYY-MM') = '2022-05' 
-- 주문 날짜가 2022년 5월인 데이터만 조회

GROUP BY P.PRODUCT_ID, P.PRODUCT_NAME 
-- 제품 ID와 이름으로 그룹화하여 각 제품의 총 판매 금액을 계산

ORDER BY TOTAL_SALES DESC, P.PRODUCT_ID
-- 총 판매 금액을 기준으로 내림차순 정렬, 금액이 같을 경우 제품 ID로 정렬
728x90