프로그래머스
[프로그래머스] 상품 별 오프라인 매출 구하기
Paragon53
2025. 4. 2. 09:28
SQL
문제
https://school.programmers.co.kr/learn/courses/30/lessons/131533
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
PRODUCT 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 두개가 있다.
1. PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요.
2. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.CODE
풀이
1. 두개의 테이블은 공통 칼럼이PRODUCT_ID를 기준으로 Join 한다.
Sum()함수로 판매가(PRICE)와 (SALES_AMOUNT)를 곱한값을 하는데, PRODUCT_CODE를 GROUP 시켜서 PRODUCT_CODE내 같은 코드끼리 가격들을 합한다.
별칭으로 SALES한다.
2. SALES를 기준으로 내림차순DESC를 해주고, 상품 코드를 오름차순으로 한다.
CODE
SELECT p.PRODUCT_CODE ,
SUM(p.PRICE * off.SALES_AMOUNT) AS SALES
FROM OFFLINE_SALE off Left Join product p on off.PRODUCT_ID = p.PRODUCT_ID
GROUP BY p.PRODUCT_CODE
ORDER BY 2 DESC,PRODUCT_CODE