CODING TEST/MySQL
Lv2 - 상품 별 오프라인 매출 구하기
iamyuunzo
2025. 7. 29. 12:41
📌 문제 정보
- 문제 이름 : 프로그래머스 - (JOIN) 상품 별 오프라인 매출 구하기
- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131533
📌 문제 요약
- PRODUCT 테이블 : PRODUCT_ID, PRODUCT_CODE, PRICE
- OFFLINE_SALE 테이블 : OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE
- PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.
예시)
| PRODUCT_ID | PRODUCT_CODE | PRICE |
| 1 | A1000011 | 15,000 |
| 2 | A1000045 | 8,000 |
| 3 | C3000002 | 42,000 |
| OFFLINE_SALE_ID | PRODUCT_ID | SALES_AMOUNT | SALES_DATE |
| 1 | 1 | 2 | 2022-02-21 |
| 2 | 1 | 2 | 2022-03-02 |
| 3 | 3 | 3 | 2022-05-01 |
| 4 | 2 | 1 | 2022-05-24 |
| 5 | 1 | 2 | 2022-07-14 |
| 6 | 2 | 1 | 2022-09-22 |
출력)
| PRODUCT_CODE | SALES |
| C3000002 | 126000 |
| A1000011 | 90000 |
| A1000045 | 16000 |
📌 내 풀이 및 코드
SELECT PRODUCT.PRODUCT_CODE, SUM(PRODUCT.PRICE * OFFLINE_SALE.SALES_AMOUNT) AS SALES
FROM PRODUCT
JOIN OFFLINE_SALE ON OFFLINE_SALE.PRODUCT_ID = PRODUCT.PROUDCT.ID
GROUP BY PRODUCT.PRODUCT_CODE
ORDER BY SALES DESC, PRODUCT_CODE ASC;
- FROM PRODUCT: 기준 테이블은 상품 테이블
- JOIN OFFLINE_SALE: 판매 정보는 부가 정보니까 JOIN으로 붙임
📌 새로 배운 문법
<-- 이번 문제에서 새로 배운 Java 문법 정리 -->
-