
๋ค์์ ์ด๋ ์๋ฅ ์ผํ๋ชฐ์ ์จ๋ผ์ธ ์ํ ํ๋งค ์ ๋ณด๋ฅผ ๋ด์ ONLINE_SALE ํ
์ด๋ธ ์
๋๋ค. ONLINE_SALE ํ
์ด๋ธ์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋์ด์์ผ๋ฉฐ ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE๋ ๊ฐ๊ฐ ์จ๋ผ์ธ ์ํ ํ๋งค ID, ํ์ ID, ์ํ ID, ํ๋งค๋, ํ๋งค์ผ์ ๋ํ๋
๋๋ค.
| Column name | Type | Nullable |
|---|---|---|
| ONLINE_SALE_ID | INTEGER | FALSE |
| USER_ID | INTEGER | FALSE |
| PRODUCT_ID | INTEGER | FALSE |
| SALES_AMOUNT | INTEGER | FALSE |
| SALES_DATE | DATE | FALSE |
๋์ผํ ๋ ์ง, ํ์ ID, ์ํ ID ์กฐํฉ์ ๋ํด์๋ ํ๋์ ํ๋งค ๋ฐ์ดํฐ๋ง ์กด์ฌํฉ๋๋ค.
ONLINE_SALE ํ
์ด๋ธ์์ ๋์ผํ ํ์์ด ๋์ผํ ์ํ์ ์ฌ๊ตฌ๋งคํ ๋ฐ์ดํฐ๋ฅผ ๊ตฌํ์ฌ, ์ฌ๊ตฌ๋งคํ ํ์ ID์ ์ฌ๊ตฌ๋งคํ ์ํ ID๋ฅผ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๊ฒฐ๊ณผ๋ ํ์ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์๊ณ ํ์ ID๊ฐ ๊ฐ๋ค๋ฉด ์ํ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
์๋ฅผ ๋ค์ด ONLINE_SALE ํ
์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
| ONLINE_SALE_ID | USER_ID | PRODUCT_ID | SALES_AMOUNT | SALES_DATE |
|---|---|---|---|---|
| 1 | 1 | 3 | 2 | 2022-02-25 |
| 2 | 1 | 4 | 1 | 2022-03-01 |
| 4 | 2 | 4 | 2 | 2022-03-12 |
| 3 | 1 | 3 | 3 | 2022-03-31 |
| 5 | 3 | 5 | 1 | 2022-04-03 |
| 6 | 2 | 4 | 1 | 2022-04-06 |
| 2 | 1 | 4 | 2 | 2022-05-11 |
USER_ID ๊ฐ 1์ธ ์ ์ ๊ฐ PRODUCT_ID ๊ฐ 3, 4์ธ ์ํ๋ค์ ์ฌ๊ตฌ๋งคํ๊ณ , USER_ID ๊ฐ 2์ธ ์ ์ ๊ฐ PRODUCT_ID ๊ฐ 4์ธ ์ํ์ ์ฌ๊ตฌ๋งค ํ์์ผ๋ฏ๋ก, ๋ค์๊ณผ ๊ฐ์ด ๊ฒฐ๊ณผ๊ฐ ๋์์ผํฉ๋๋ค.
| USER_ID |
|---|
| 1 |
| 1 |
| 2 |
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) > 1
ORDER BY USER_ID, PRODUCT_ID DESC
;