โ โ < 70๋ฒ - ๊ทธ๋ฃน๋ณ ์กฐ๊ฑด์ ๋ง๋ ์๋น ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/131124
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
# ๋ด๊ฐ ์์ฑํ ๋ต์
with cte as (
select member_name, REVIEW_TEXT,
date_format(REVIEW_DATE, '%Y-%m-%d') as REVIEW_DATE
from MEMBER_PROFILE m
inner join REST_REVIEW r
on m.member_id = r.member_id
), cte2 as (
select member_name,
count(*) as num
from cte
group by member_name
order by count(*) desc
), cte3 as (
select max(num) as max_num
from cte2
), cte4 as (
select member_name
from cte2
where num = (
select max_num
from cte3)
)
select member_name,
review_text,
review_date
from cte
where member_name in (
select member_name
from cte4
)
order by 3,2
< 71๋ฒ - ์คํ๋ผ์ธ / ์จ๋ผ์ธ ํ๋งค ๋ฐ์ดํฐ ํตํฉํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/131537
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT date_format(sales_date, '%Y-%m-%d') as sales_date,
product_id,
null as user_id,
sales_amount
from OFFLINE_SALE
where year(date_format(sales_date, '%Y-%m-%d')) = 2022
and month(date_format(sales_date, '%Y-%m-%d')) = 3
union all
select date_format(sales_date, '%Y-%m-%d') as sales_date,
product_id,
user_id,
sales_amount
from ONLINE_SALE
where year(date_format(sales_date, '%Y-%m-%d')) = 2022
and month(date_format(sales_date, '%Y-%m-%d')) = 3
order by 1, 2, 3
โ < 72๋ฒ - ์กฐ๊ฑด์ ๋ถํฉํ๋ ์ค๊ณ ๊ฑฐ๋ ๋๊ธ ์กฐํํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/164673
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
# ๋ฌธ์ ์กฐ๊ฑด ๊ผผ๊ผผํ๊ฒ ์ฝ๊ธฐ!
2022๋ 10์์ ์์ฑ๋ -> board ํ ์ด๋ธ์ด๋ค
reply ํ ์ด๋ธ์ด ์๋๋ค
SELECT title,
b.board_id,
r.reply_id,
r.writer_id,
r.contents,
date_format(r.created_date, '%Y-%m-%d') as created_date
from USED_GOODS_BOARD b
inner join USED_GOODS_REPLY r
on b.board_id = r.board_id
where date_format(b.created_date, '%Y-%m') = '2022-10'
order by 6, 1
โ โ โ < 73๋ฒ - ์ ์ ์๊ฐ ๊ตฌํ๊ธฐ (2) >
https://school.programmers.co.kr/learn/courses/30/lessons/59413
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
set @hour = -1;
select @hour := @hour+1 as hour,
(select count(*)
from animal_outs
where hour(datetime) = @hour) as count
from animal_outs
where @hour <= 22
https://anotherhound.tistory.com/79
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ์ ์๊ฐ ๊ตฌํ๊ธฐ(2) - set @๋ณ์โ๏ธ
# ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/59413 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด
anotherhound.tistory.com
โ โ โ โ < 74๋ฒ - ํน์ ๊ธฐ๊ฐ๋์ ๋์ฌ ๊ฐ๋ฅํ ์๋์ฐจ๋ค์ ๋์ฌ๋น์ฉ ๊ตฌํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/157339
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
select c.car_id,
c.car_type,
round(c.daily_fee * 30 * (100-discount_rate)/100) as fee
from CAR_RENTAL_COMPANY_CAR c
inner join CAR_RENTAL_COMPANY_DISCOUNT_PLAN p
on c.car_type = p.car_type
left join CAR_RENTAL_COMPANY_RENTAL_HISTORY h
on c.car_id = h.car_id
and date_format(h.end_date, '%Y-%m-%d') >= '2022-11-01'
and date_format(h.start_date, '%Y-%m-%d') <= '2022-11-30'
where h.car_id is null
and c.car_type in ('์ธ๋จ', 'SUV')
and p.duration_type = '30์ผ ์ด์'
and round(c.daily_fee * 30 * (100-discount_rate)/100) >= 500000
and round(c.daily_fee * 30 * (100-discount_rate)/100) < 2000000
order by 3 desc, 2, 1 desc
# ํต์ฌ ๊ฐ๋
1) ๋ฌธ์ ์์ group by๋ณ ๊ธ์ก์ ์ถ๋ ฅํ๋ ๋ฌธ์ ๊ฐ ์๊ณ / ๊ฐ์ car_id๋ณ ์ฌ๋ฌ ๊ฒฝ์ฐ๊ฐ ์๋ค (group by ์ฌ์ฉX)
์ด ๋ฌธ์ ์์๋ group by๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ์๋ค
2) left join / on / where B.key is null๋ก (O/X)์ธ ๊ฒฝ์ฐ๋ฅผ ๊ตฌํ ์ ์๋ค
3) ๋น๋ฆฐ์ผ์๊ฐ 2022-11-01๊ณผ 2022-11-30์์ ๋ค์ด๊ฐ๋ฉด ์๋๋ค
๊ทธ๋ ๋ค๋ฉด end_date๊ฐ 11/1 ์ด์ ์ด๊ฑฐ๋ (OR) start_date๊ฐ 11/30 ์ดํ๋ฉด ์๋๋ค!
๋ผ๊ณ ์๊ฐํ ์ ์๋๋ฐ
OR ๊ฐ ์๋๋ผ AND์ด๋ค
๋ฐ๋ก) start๊ฐ 12/1 ์ด๊ณ end ๊ฐ 12/31์ด๋ฉด ๋ฌธ์ ์๋ค
start๊ฐ 1/1์ด๊ณ end๊ฐ 7/30์ด๋ฉด ๋ฌธ์ ์๋ค
๋ฐ๋ผ์ ๋ ์กฐ๊ฑด์ด ๋์์ (AND) ๋์ฌ๋๊ฐ ์๋๋ ๊ฒ์ด๋ค!