SELECT user_id, product_id, sales_date
FROM online_sale
WHERE sales_date >2022
GROUP BY user_id, product_id
HAVING COUNT(product_id>=2)
ORDER BY 1 asc , 2 descโ
์ ์์ ์ฝ๋๋ฅผ ํ ์ค์ฉ ํด์ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- 2ํ : online_sale ํ ์ด๋ธ์์
- 3ํ : sales_date ๊ฐ 2022๋ ์ด์์ธ ๋ฐ์ดํฐ๋ฅผ
- 4ํ : user_id ์ product_id ๋ก ๊ทธ๋ฃนํํ๊ณ
- 5ํ : ๊ทธ ๊ฒฐ๊ณผ์์ product_id ๊ฐ 2 ์ด์์ธ ๊ฒ๋ง ๋ฝ์
- 6ํ : user_id ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ, ๋ง์ฝ user_id๊ฐ ๊ฐ๋ค๋ฉด product_ id ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ค.
- 1ํ : user_id, product_id, sales_date๋ฅผ ๋ฐํํ๋ค.
์ด์ ์๋ where์ having์ ์ฐจ์ด์ ๋ํด์ TIL์ ์ผ๋๋ฐ, ๊ฐ์๋ก ๋ค์ ๋ด์ฉ์ด ์๋๋ค ๋ณด๋ ๊ธฐ์ต์ ์ ์ ๋จ์์ ์ฝํ ํ ๋ '์ด ๋ฌธ์ ๋ having์ผ๋ก group by์ ์กฐ๊ฑด์ ๊ฑฐ๋ ๋ฌธ์ ๊ตฌ๋'๋ผ๋ ํ์ ์์ฒด๋ฅผ ๋ชปํ๋๋ผ๊ณ ..
๊ฐ๋จํ ๋งํด where๋ raw data์ ๊ฑฐ๋ ์กฐ๊ฑด์ด๊ณ , having์ grpup by๋ก ๊ทธ๋ฃนํํ ๊ฒฐ๊ณผ์ ๊ฑฐ๋ ์กฐ๊ฑด์ด๋ผ๊ณ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
์ฐธ๊ณ ์์
๋ฌ๋ SQL | ์จ๋ฐ ๋ณผ๋ฆฌ์ธ - ๊ต๋ณด๋ฌธ๊ณ
๋ฌ๋ SQL | SQL ์ธ์ด๋ฅผ ๋ง์คํฐํ๊ธฐ ์ํ ํ๋ ์ํ์ด๋ ์ง 40๋ ์ด ๋์ SQL์ ์ฐ์์๋ ๋ฐ์ดํฐ ์ ์ฑ์๋๋ฅผ ๋ง์ ํ์ฅํ๊ณ ์๋ค. ์ด ์ฑ ์ ๊ฐ๋ฐ์๊ฐ SQL ๊ธฐ๋ณธ์ ๋นจ๋ฆฌ ์ตํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ๋ฆฌ์ผ์ด์
product.kyobobook.co.kr
'๐งฑ SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JOIN์ ์ ํ - INNER, (LEFT/RIGHT/FULL) OUTER, CROSS, SELF (0) | 2023.12.28 |
---|---|
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ 4 ์์ - ์ํฐํฐ, ์์ฑ, ๊ด๊ณ, ์๋ณ์ (1) | 2023.12.28 |
JOIN ์ ๋ฐ์ดํฐ ์งํฉ ๋ ๋ฒจ (์งํฉ ์์ค) + ์ถ๊ฐ 231228 (0) | 2023.12.27 |
๋ชจ๋ธ๋ง์ ์ดํด (0) | 2023.12.27 |
๋ฐ์ดํฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค, DBMS (1) | 2023.12.26 |