Tools/- SQL

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

์Šค์œ„๋ฏผ 2025. 1. 19. 15:54

๋ฌธ์ œ

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

 

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

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

์ฝ”๋“œ

select
    year(sales_date) as year,
    month(sales_date) as month,
    count(distinct user_id) as purchased_users,
    round(count(distinct user_id) / (select count(*) from user_info where year(joined) = 2021), 1) as purchased_ratio
from online_sale
where user_id in (select user_id from user_info where year(joined) = 2021)
group by 1, 2
order by 1, 2

 

๋ฌธ์ œ ์„ค๋ช…์„ ์ดํ•ด ๋ชปํ•˜๊ณ  ๊ณ„์† ํ—ค๋งค๋‹ค๊ฐ€

๊ฒฐ๊ตญ ํƒ€ ๋ธ”๋กœ๊ทธ์˜ ์ฝ”๋“œ ํ’€์ด๋ฅผ ๋ณด๊ณ  ์ดํ•ดํ–ˆ๋‹ค ใ…‹ใ…œ

 

์•„๋‹ˆ ๋‚˜๋งŒ ์„ค๋ช… ์ดํ•ด๋ชปํ•˜๊ฒ ๋‚˜ ..?? ์ข€ ๋” ๊ฐ€๋…์„ฑ์žˆ๊ฒŒ ์ ์–ด๋†จ์œผ๋ฉด ..

 

ํ•ต์‹ฌ ์š”์ง€

1. ๋ฌธ์ œ ์ดํ•ดํ•˜๊ธฐ ใ…‹ใ…œ

 

ํƒ€ ํ…Œ์ด๋ธ”์—์„œ ์ฐธ์กฐํ•  ๋‚ด์šฉ์€ 2๊ฐœ๋‹ค.

๋จผ์ € 2021๋…„ ๊ฐ€์ž…ํ•œ ํšŒ์› ์ˆ˜๋ฅผ ๊ตฌํ•ด์„œ ๊ฐ€์ ธ์™€์•ผ ๋˜๊ณ 

๋ณธ ํ…Œ์ด๋ธ”์˜ ์œ ์ €๊ฐ€ 2021๋…„์— ๊ฐ€์ž…ํ•œ ํšŒ์›์ด์–ด์•ผ ํ•œ๋‹ค.

 

๋‚˜๋Š” 2021๋…„์— ๊ฐ€์ž…ํ•œ ์œ ์ €์˜ 2022๋…„ ํŒ๋งค ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฑฐ ์ž์ฒด๋ฅผ ๋ฐ›์•„๋“ค์ด์ง€ ๋ชปํ–ˆ๋‹ค .. ๋‹ค๋ฅธ ๋…„๋„์ธ๋ฐ ์™œ ..? ์ด๋Ÿฌ๋ฉด์„œ .. ์ •์‹ ์ฐจ๋ฆฌ์ž ..!

 

2. ํƒ€ ํ…Œ์ด๋ธ”์˜ ๊ฒฐ๊ณผ๊ฐ’์„ select๋ฌธ์— ๊ฐ€์ ธ์˜ค๊ธฐ

 

2021๋…„์— ๊ฐ€์ž…ํ•œ ํšŒ์› ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ select๋ฌธ์— ์ง‘์–ด๋„ฃ์ง€?ํ•˜๊ณ  ๊ณ ๋ฏผํ–ˆ๋Š”๋ฐ

์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ€์ ธ์˜ค๋ฉด ๋์—ˆ์Œ ใ…Ž

๋‚˜๋Š” ์ง„์งœ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ํ™œ์šฉ์„ ์ž˜ ๋ชปํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค..

 

2021๋…„์— ๊ฐ€์ž…ํ•œ ์œ ์ €์— ํ•œํ•ด์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ๋„ where์—์„œ ์„œ๋ธŒ์ฟผ๋ฆฌ๋กœ ์กฐ๊ฑด์„ ๊ฑธ๋ฉด ๋œ๋‹ค

 

๋А๋‚€ ์ 

๋ฌธ์ œ๋ฅผ ์ž˜ ์ดํ•ดํ•˜์ž !!

์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์ž !!