작심 365

[SQL] 상품 별 오프라인 매출 구하기 본문

코테/프로그래머스

[SQL] 상품 별 오프라인 매출 구하기

eunKyung KIM 2025. 2. 16. 16:13

📌 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/131533

 

📌 풀이 : 

product tabale 과 offline_sale table 에서 상품코드별 매출액을 구하는 문제

 

1) 상품코드와 가격은 product, 판매량은 offilne_sale 에 있으므로 두 table을 join 해서 합친다. -> product_id 로 join

  1-1) join 할때 동일 상품도 날짜별로 판매량이 존재하기 때문에 offline_sale table 에 붙인다.

2) 상품별 매출액을 출력해야 되니까 상품코드로 그룹화 한다. (group by)

3) 판매량 내림차순, 상품코드별 오름차순으로 정렬

4) 출력문에서 판매가는 가격*판매 수량 으로 계산한다. 

 

* group by 시 select 문에 집계함수가 들어가야 된다.

SELECT PRODUCT_CODE, SUM(B.PRICE*A.SALES_AMOUNT) AS SALES
FROM OFFLINE_SALE A LEFT JOIN PRODUCT B
ON A.PRODUCT_ID = B.PRODUCT_ID
GROUP BY PRODUCT_CODE
ORDER BY SALES DESC ,PRODUCT_CODE ASC
Comments