๋ค์์ ์ด๋ ์๋ฅ ์ผํ๋ชฐ์์ ํ๋งค์ค์ธ ์ํ๋ค์ ์ํ ์ ๋ณด๋ฅผ ๋ด์ 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 |
SELECT
pd.PRODUCT_CODE AS PRODUCT_CODE,
SUM(pd.PRICE*os.SALES_AMOUNT) AS SALES
FROM PRODUCT pd
JOIN OFFLINE_SALE os
ON pd.PRODUCT_ID = os.PRODUCT_ID
GROUP BY pd.PRODUCT_CODE
ORDER BY
SALES DESC,
pd.PRODUCT_CODE