개발로그필름

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

coding test/프로그래머스

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

yuullog 2025. 3. 10. 13:35
728x90
반응형
SMALL

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

 

프로그래머스

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

programmers.co.kr

 

반응형

 

 

 

 

풀이 답안
SELECT p.product_code, SUM(p.price * s.sales_amount) AS `매출액`
FROM product p
INNER JOIN OFFLINE_SALE s
    ON p.product_id = s.product_id
GROUP BY p.product_code
ORDER BY `매출액` DESC, p.product_code ASC

 

 

SMALL

 

 

코드 설명

상품코드 별 매출액(판매가 * 판매량) 합계를 출력  이 목표이기 때문에 

1. 먼저 상품코드 별로 그룹화를 한다

2. 판매가와 판매량 변수는 서로 다른 테이블에 있으므로 두 테이블을 조인 해야한다

3. 두 테이블에 공통적으로 있는 변수는 product_id

4. 두 테이블을 inner join 하고 product_code로 그룹화를 한다

5. join 했으므로 각 테이블의 price, sales_amount 변수를 곱할 수 있으므로 매출액을 구한다

6. 매출액을 변수로 사용하려면 작은 따옴표가 아닌 백틱을 사용해야 한다

7. 마지막으로 매출액을 기준으로 내림차순 정렬, 상품코드 기준으로 오름차순 정렬을 해서 마무리 한다

반응형
LIST
Comments