From 12e4d079a6b990d1f17a269d51bd9ac0b820cf0a Mon Sep 17 00:00:00 2001 From: SSUM <116950962+ssum21@users.noreply.github.com> Date: Wed, 5 Mar 2025 22:22:58 +0900 Subject: [PATCH] =?UTF-8?q?[level=202]=20Title:=20=EC=83=81=ED=92=88=20?= =?UTF-8?q?=EB=B3=84=20=EC=98=A4=ED=94=84=EB=9D=BC=EC=9D=B8=20=EB=A7=A4?= =?UTF-8?q?=EC=B6=9C=20=EA=B5=AC=ED=95=98=EA=B8=B0,=20Time:=200.00=20ms,?= =?UTF-8?q?=20Memory:=200.0=20MB=20-BaekjoonHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../131533. 상품 별 오프라인 매출 구하기/README.md | 194 ++++++++++++++++++ .../상품 별 오프라인 매출 구하기.sql | 6 + 2 files changed, 200 insertions(+) create mode 100644 프로그래머스/2/131533. 상품 별 오프라인 매출 구하기/README.md create mode 100644 프로그래머스/2/131533. 상품 별 오프라인 매출 구하기/상품 별 오프라인 매출 구하기.sql diff --git a/프로그래머스/2/131533. 상품 별 오프라인 매출 구하기/README.md b/프로그래머스/2/131533. 상품 별 오프라인 매출 구하기/README.md new file mode 100644 index 0000000..e4db4fe --- /dev/null +++ b/프로그래머스/2/131533. 상품 별 오프라인 매출 구하기/README.md @@ -0,0 +1,194 @@ +# [level 2] 상품 별 오프라인 매출 구하기 - 131533 + +[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/131533) + +### 성능 요약 + +메모리: 0.0 MB, 시간: 0.00 ms + +### 구분 + +코딩테스트 연습 > JOIN + +### 채점결과 + +Empty + +### 제출 일자 + +2025년 03월 05일 22:22:56 + +### 문제 설명 + +
다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 상품 정보를 담은 PRODUCT 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. PRODUCT 테이블은 아래와 같은 구조로 PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.
| Column name | +Type | +Nullable | +
|---|---|---|
| PRODUCT_ID | +INTEGER | +FALSE | +
| PRODUCT_CODE | +VARCHAR(8) | +FALSE | +
| PRICE | +INTEGER | +FALSE | +
상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다.
+ +OFFLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 오프라인 상품 판매 ID, 상품 ID, 판매량, 판매일을 나타냅니다.
| Column name | +Type | +Nullable | +
|---|---|---|
| OFFLINE_SALE_ID | +INTEGER | +FALSE | +
| PRODUCT_ID | +INTEGER | +FALSE | +
| SALES_AMOUNT | +INTEGER | +FALSE | +
| SALES_DATE | +DATE | +FALSE | +
동일한 날짜, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.
+ +PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성해주세요. 결과는 매출액을 기준으로 내림차순 정렬해주시고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬해주세요.
예를 들어 PRODUCT 테이블이 다음과 같고
| PRODUCT_ID | +PRODUCT_CODE | +PRICE | +
|---|---|---|
| 1 | +A1000011 | +15000 | +
| 2 | +A1000045 | +8000 | +
| 3 | +C3000002 | +42000 | +
OFFLINE_SALE 테이블이 다음과 같다면
| 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 가 A1000011인 상품은 총 판매량이 6개, 판매가가 15,000원PRODUCT_CODE 가 A1000045인 상품은 총 판매량이 2개, 판매가가 8,000원PRODUCT_CODE 가 C3000002인 상품은 총 판매량이 3개, 판매가가 42,000원그러므로 각 상품 별 매출액을 계산하고 정렬하면 결과가 다음과 같이 나와야 합니다.
+| PRODUCT_CODE | +SALES | +
|---|---|
| C3000002 | +126000 | +
| A1000011 | +90000 | +
| A1000045 | +16000 | +