๐Ÿ’ SQL/Join

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ์ƒํ’ˆ์„ ๊ตฌ๋งคํ•œ ํšŒ์› ๋น„์œจ ๊ตฌํ•˜๊ธฐ

์„ ๋‹ฌ 2023. 8. 17. 12:31
๋ฐ˜์‘ํ˜•

https://school.programmers.co.kr/learn/courses/30/lessons/131534

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

USER_INFO ํ…Œ์ด๋ธ”๊ณผ ONLINE_SALE ํ…Œ์ด๋ธ”์—์„œ 

2021๋…„์— ๊ฐ€์ž…ํ•œ ์ „์ฒด ํšŒ์›๋“ค ์ค‘ 

์ƒํ’ˆ์„ ๊ตฌ๋งคํ•œ ํšŒ์›์ˆ˜์™€ ์ƒํ’ˆ์„ ๊ตฌ๋งคํ•œ ํšŒ์›์˜ ๋น„์œจ(=2021๋…„์— ๊ฐ€์ž…ํ•œ ํšŒ์› ์ค‘ ์ƒํ’ˆ์„ ๊ตฌ๋งคํ•œ ํšŒ์›์ˆ˜ / 2021๋…„์— ๊ฐ€์ž…ํ•œ ์ „์ฒด ํšŒ์› ์ˆ˜)์„ 

๋…„, ์›” ๋ณ„๋กœ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. 

์ƒํ’ˆ์„ ๊ตฌ๋งคํ•œ ํšŒ์›์˜ ๋น„์œจ์€ ์†Œ์ˆ˜์  ๋‘๋ฒˆ์งธ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ , 

์ „์ฒด ๊ฒฐ๊ณผ๋Š” ๋…„์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ๋…„์ด ๊ฐ™๋‹ค๋ฉด ์›”์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

 

select year(s.sales_date) as year, month(s.sales_date) as month, 
    count(distinct s.user_id) as purchased_users,
    round(count(distinct s.user_id)/(select count(user_id) from user_info where year(joined)=2021), 1) as purchased_ratio
from online_sale s join user_info u on s.user_id = u.user_id
where year(u.joined) = 2021
group by year, month
order by year, month

 

์‚ฌ๋‹ด

์—ฅ 5๋‹จ๊ณ„ ์™ค์ผ€ ์‰ฌ์›Œ....?

 

์ „๋ถ€ ํ’€์ด ์„ฑ๊ณต !

๋ฐ˜์‘ํ˜•