프로그래머스(Oracle)
[프로그래머스 (Oracle)] 5월 식품들의 총매출 조회하기
shs00925
2024. 10. 3. 16:37
코드 힌트
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로 정렬