๐งก๋ฌธ์ ์ค๋ช
๋ค์์ ์ด๋ ํ ์์ ์์ ํ๋งค์ค์ธ ๋์๋ค์ ๋์ ์ ๋ณด(BOOK)
, ํ๋งค ์ ๋ณด(BOOK_SALES)
ํ
์ด๋ธ์
๋๋ค.
BOOK
ํ
์ด๋ธ์ ๊ฐ ๋์์ ์ ๋ณด๋ฅผ ๋ด์ ํ
์ด๋ธ๋ก ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋์ด์์ต๋๋ค.
Column name | Type | Nullable | Description |
---|---|---|---|
BOOK_ID | INTEGER | FALSE | ๋์ ID |
CATEGORY | VARCHAR(N) | FALSE | ์นดํ ๊ณ ๋ฆฌ (๊ฒฝ์ , ์ธ๋ฌธ, ์์ค, ์ํ, ๊ธฐ์ ) |
AUTHOR_ID | INTEGER | FALSE | ์ ์ ID |
PRICE | INTEGER | FALSE | ํ๋งค๊ฐ (์) |
PUBLISHED_DATE | DATE | FALSE | ์ถํ์ผ |
BOOK_SALES
ํ
์ด๋ธ์ ๊ฐ ๋์์ ๋ ์ง ๋ณ ํ๋งค๋ ์ ๋ณด๋ฅผ ๋ด์ ํ
์ด๋ธ๋ก ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋์ด์์ต๋๋ค.
Column name | Type | Nullable | Description |
---|---|---|---|
BOOK_ID | INTEGER | FALSE | ๋์ ID |
SALES_DATE | DATE | FALSE | ํ๋งค์ผ |
SALES | INTEGER | FALSE | ํ๋งค๋ |
๐๋ฌธ์
2022๋
1์์ ์นดํ
๊ณ ๋ฆฌ ๋ณ ๋์ ํ๋งค๋์ ํฉ์ฐํ๊ณ , ์นดํ
๊ณ ๋ฆฌ(CATEGORY)
, ์ด ํ๋งค๋(TOTAL_SALES)
๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
๊ฒฐ๊ณผ๋ ์นดํ
๊ณ ๋ฆฌ๋ช
์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
๐์์
์๋ฅผ ๋ค์ด BOOK
ํ
์ด๋ธ๊ณผ BOOK_SALES
ํ
์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
BOOK_ID | CATEGORY | AUTHOR_ID | PRICE | PUBLISHED_DATE |
---|---|---|---|---|
1 | ์ธ๋ฌธ | 1 | 10000 | 2020-01-01 |
2 | ๊ฒฝ์ | 1 | 9000 | 2021-02-05 |
3 | ๊ฒฝ์ | 2 | 9000 | 2021-03-11 |
BOOK_ID | SALES_DATE | SALES |
---|---|---|
1 | 2022-01-01 | 2 |
2 | 2022-01-02 | 3 |
1 | 2022-01-05 | 1 |
2 | 2022-01-20 | 5 |
2 | 2022-01-21 | 6 |
3 | 2022-01-22 | 2 |
2 | 2022-02-11 | 3 |
2022๋ 1์์ ๋์ ๋ณ ์ด ํ๋งค๋์ ๋์ ID ๊ฐ 1 ์ธ ๋์๊ฐ ์ด 3๊ถ, ๋์ ID ๊ฐ 2 ์ธ ๋์๊ฐ ์ด 14๊ถ ์ด๊ณ , ๋์ ID ๊ฐ 3 ์ธ ๋์๊ฐ ์ด 2๊ถ ์ ๋๋ค.
์นดํ ๊ณ ๋ฆฌ ๋ณ๋ก ํ๋งค๋์ ์ง๊ณํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
CATEGORY | TOTAL_SALES |
---|---|
์ธ๋ฌธ | 3 |
๊ฒฝ์ | 16 |
์นดํ ๊ณ ๋ฆฌ๋ช ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
CATEGORY | TOTAL_SALES |
---|---|
๊ฒฝ์ | 16 |
์ธ๋ฌธ | 3 |
๐๋์ ํ์ด
SELECT b.CATEGORY, SUM(bs.SALES) AS TOTAL_SALES
FROM BOOK b
JOIN BOOK_SALES bs
ON b.BOOK_ID = bs.BOOK_ID
WHERE bs.SALES_DATE LIKE '2022-01%'
GROUP BY b.CATEGORY
ORDER BY b.CATEGORY