개발 쥬스

[프로그래머스/MySQL] 상품 별 오프라인 매출 구하기 본문

알고리즘

[프로그래머스/MySQL] 상품 별 오프라인 매출 구하기

DevJuice 2025. 1. 15. 17:17
반응형

🔗 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/131533

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

🔍  해결 과정

PRODUCT 테이블에서 PRODUCT_ID 칼럼과 PRODUCT_CODE 칼럼은 서로 일대일 매핑이면서도 독립적이기 때문에 OFFLINE_SALE 테이블과 PRODUCT 테이블을 PRODUCT_ID 칼럼을 기준으로 INNER JOIN을 진행함과 동시에 GROUP BY 절에 활용하여 상품별 총 판매 가격을 계산하도록 코드를 구현했습니다.

 

 

💬 회고

코드에서 ORDER BY 구문에서 총 판매 가격을 구할 때 설정한 별칭을 그대로 적용가능한지 회고의 시간을 가졌습니다.

 

MySQL에서 쿼리문을 실행할 때는 항상 다음과 같은 순서로 실행이 된다는 것을 다시 한번 복습하는 시간을 가졌습니다.

1️⃣ FROM 절
2️⃣ WHRER 절
3️⃣ GROUP BY 절
4️⃣ HAVING 절
5️⃣ SELECT 절
6️⃣ ORDER BY 절
7️⃣ LIMIT 절

✏️ 코드

-- 코드를 입력하세요
-- 판매가 * 판매량
-- 매출액 기준으로 내림차순, 상품코드를 기준으로 정렬
SELECT 
    P.PRODUCT_CODE,
    SUM(OS.SALES_AMOUNT) * P.PRICE AS SALES
FROM OFFLINE_SALE AS OS
INNER JOIN PRODUCT P ON P.PRODUCT_ID = OS.PRODUCT_ID
GROUP BY OS.PRODUCT_ID
ORDER BY SALES DESC, P.PRODUCT_CODE ASC;
반응형