https://school.programmers.co.kr/learn/courses/30/lessons/131124
MEMBER_PROFILE์ REST_REVIEW ํ ์ด๋ธ์์
๋ฆฌ๋ทฐ๋ฅผ ๊ฐ์ฅ ๋ง์ด ์์ฑํ ํ์์
๋ฆฌ๋ทฐ๋ค์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
ํ์ ์ด๋ฆ, ๋ฆฌ๋ทฐ ํ ์คํธ, ๋ฆฌ๋ทฐ ์์ฑ์ผ์ด ์ถ๋ ฅ๋๋๋ก ์์ฑํด์ฃผ์๊ณ ,
๊ฒฐ๊ณผ๋ ๋ฆฌ๋ทฐ ์์ฑ์ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์, ๋ฆฌ๋ทฐ ์์ฑ์ผ์ด ๊ฐ๋ค๋ฉด ๋ฆฌ๋ทฐ ํ ์คํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
ํ์ด
๋จผ์ ๊ฐ์ฅ ๋ง์ ๋ฆฌ๋ทฐ์๋ฅผ ์์ฑํ ์ฌ๋์ ์์๋ด์
select member_id
from rest_review
group by member_id
order by count(review_id) desc
limit 1
์ด์ ์ด ๋ฉค๋ฒ๊ฐ ์์ฑํ ๋ฆฌ๋ทฐ๋ค์ ๊ณจ๋ผ๋ธ๋ค
limit ์ฐ์ฐ์ด ๋ค์ด๊ฐ ๊ฒฝ์ฐ where์์ in ์ ์ฌ์ฉํ์ง ๋ชปํ๋ค๋ ์ ์ ๊ธฐ์ต (์ฌ๊ธฐ์๋ ๋จ์ํ๊ฒ ๋ฑํธ๋ฅผ ์ฌ์ฉ)
select member_id, review_text, review_date
from rest_review
where member_id = (
select member_id
from rest_review
group by member_id
order by count(review_id) desc
limit 1)
์ด์ ์ด๋ ๊ฒ ๊ณจ๋ผ๋ธ ๋ฆฌ๋ทฐ๋ค๊ณผ ๋ฉค๋ฒํ๋กํ์ joinํด์ ํด๋น ๋ฉค๋ฒ์ ์ด๋ฆ๊ณผ, ๋ฆฌ๋ทฐ์ ํ ์คํธ์ ๋ ์ง๋ฅผ ์กฐ๊ฑด์ ๋ง๊ฒ ์ถ๋ ฅํ๋ค
select p.member_name, r.review_text, date_format(r.review_date, "%Y-%m-%d") as review_date
from member_profile p join (
select member_id, review_text, review_date
from rest_review
where member_id = (
select member_id
from rest_review
group by member_id
order by count(review_id) desc
limit 1)) r
on p.member_id = r.member_id
order by review_date, r.review_text