문제
PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드(PRODUCT_CODE) 별 매출액*합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.
* 매출액 = PRICE(판매가) * SALES_AMOUNT(판매량)
🍀 Solution
SELECT p.PRODUCT_CODE,
SUM(p.PRICE*os.SALES_AMOUNT) SALES
FROM OFFLINE_SALE os LEFT JOIN PRODUCT p ON os.PRODUCT_ID = p.PRODUCT_ID
GROUP BY p.PRODUCT_CODE
ORDER BY SALES desc, PRODUCT_CODE;
🐧 풀이
- 상품 코드별 매출액 합계 계산
- `GROUPBY p.PRODUCT_CODE` : 상품 코드를 기준으로 묶기
- `SUM(p.PRICE * os.SALES_AMOUNT)` : 매출액 합계 계산 → 별칭으로 SALES
- 매출액을 기준으로 내림차순, 매출액 같을 시 상품코드 기준 오름차순 정렬
→ `ORDER BY SALES desc, PRODUCT_CODE`
💡 계산 순서상 ORDER BY 가 맨 마지막이므로 앞에서 지정한 별칭으로 입력해도 됨.
🖨️ 결과
'⌨️ Code Taka > MySQL' 카테고리의 다른 글
[프로그래머스] 오랜 기간 보호한 동물(2) (0) | 2024.07.25 |
---|---|
[프로그래머스] 있었는데요 없었습니다 (0) | 2024.07.25 |
[프로그래머스] 카테고리 별 도서 판매량 집계하기 (1) | 2024.07.23 |
[프로그래머스] 오랜 기간 보호한 동물(1) (1) | 2024.07.23 |
[프로그래머스] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2024.05.31 |