์นดํ
๊ณ ๋ฆฌ ์์
[SQL] (ํ๋ก๊ทธ๋๋จธ์ค/MySQL/Level 3)_์กฐ๊ฑด์ ๋ง๋ ์ฌ์ฉ์์ ์ด ๊ฑฐ๋๊ธ์ก ์กฐํํ๊ธฐ
minjgziii
2024. 1. 26. 17:59
๐ ๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ ํ์ด
โ ๋ด๊ฐ ์ฒ์ ์ด ํ๋ฆฐ ์ฝ๋ โ
SELECT U.USER_ID, U.NICKNAME, SUM(B.PRICE) AS TOTAL_SALES
FROM USED_GOODS_USER AS U
JOIN USED_GOODS_BOARD AS B
ON U.USER_ID = B.WRITER_ID
WHERE B.STATUS = 'DONE' AND SUM(B.PRICE) >= 70000
GROUP BY B.WRITER_ID
ORDER BY TOTAL_SALES
์ด๊ฑธ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ค๋ฅ๊ฐ ๋ฌ๋ค.
์๋ํ๋ฉด!
SQL์์๋ WHERE์ ์์ ์ง๊ณ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
WHERE์ ์ ๊ฐ ํ์ ๋ํด ์กฐ๊ฑด์ ๊ฒ์ฌํ์ง๋ง SUM๊ณผ ๊ฐ์ ์ง๊ณ ํจ์๋ค์ ์ฌ๋ฌ ํ์ ๊ฑธ์ณ ์๋ํ๊ธฐ ๋๋ฌธ์ ์ด ๋์ ํผํฉํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๋ฐ๋ผ์, SUM(B.PRICE) >= 700000 ๋ WHERE์ ์์ ์ฌ์ฉํ ์ ์๊ณ
HAVING์ ์ ํ์ฉํด์ผ ํ๋ค.
๐ ์ ๋ต ์ฝ๋
SELECT U.USER_ID, U.NICKNAME, SUM(B.PRICE) AS TOTAL_SALES
FROM USED_GOODS_USER AS U
JOIN USED_GOODS_BOARD AS B
ON U.USER_ID = B.WRITER_ID
WHERE B.STATUS = 'DONE'
GROUP BY B.WRITER_ID
HAVING SUM(B.PRICE) >= 700000
ORDER BY TOTAL_SALES