코딩 테스트/SQL

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

susinlee 2024. 12. 11. 09:33

[문제]
PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.


[단계별 풀이]
1. PRODUCT 테이블과 OFFLINE_SALE 테이블을 PRODUCT_ ID 기준으로 JOIN

2. PRODUCT_CODE를 GROUP BY

3. PRICE와 SALES_AMOUNT를 곱한 후 해당 컬럼을 SUM 한 뒤 SALES로 별칭

4. SALES를 내림차순 정렬, 상품코드를 오름차순 정렬


[정답]

SELECT P.PRODUCT_CODE,
       SUM(P.PRICE * S.SALES_AMOUNT) AS SALES
FROM PRODUCT P
JOIN OFFLINE_SALE S
ON P.PRODUCT_ID = S.PRODUCT_ID
GROUP BY P.PRODUCT_CODE
ORDER BY SALES DESC, P.PRODUCT_CODE