프로그래머스

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

Paragon53 2025. 4. 2. 09:28
minecraft-font

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