๋ฌธ์
- ํ๋ก๊ทธ๋๋จธ์ค SQL ๋ฌธ์
๊ฐ๊ฒฉ๋ ๋ณ ์ํ ๊ฐ์ ๊ตฌํ๊ธฐ
/๋ ๋ฒจ 2
- ๋ฌธ์ ๋ด์ฉ : ํ๋จ ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ [๋งํฌ]
๋ด๊ฐ ์์ฑํ Query
SELECT CASE WHEN PRICE >= FLOOR(PRICE/10000)*10000 THEN FLOOR(PRICE/10000)*10000 END AS PRICE_GROUP , COUNT(*) AS PRODUCTS FROM PRODUCT GROUP BY PRICE_GROUP ORDER BY PRICE_GROUP ASC;
CASE WHEN ~ THEN ~
์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ์ฌ, ๊ฐ ๊ตฌ๊ฐ๋ณ๋ก 10000์ ์๋ฆฌ์ ์ซ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฅ๋ฅผ ํ๊ธฐ ์์. (PRICE/10000) ๊ฐ์ ์ ์ ๋ถ๋ถ๋ง์ ์ทจํ๊ณ , ๊ทธ ์ซ์์ 10000์ ๊ณฑํ๋ฉด 10000์ ๋จ์๋ก ๊ทธ๋ฃนํ ํ ์ ์๋ค๊ณ ์๊ฐํ์ฌ ์ ๊ทผFLOOR(PRICE/10000)*10000
)์ ๊ฐ์ด PRICE๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด , FLOOR(PRICE/10000)*10000
๊ฐ์ผ๋ก ์นํGROUP BY
๋ฅผ ์ด์ฉํ์ฌ 10000 ๋จ์์ ๊ธฐ์ค๊ฐ ๋ณ ์ ํ์ ๊ฐ์๋ฅผ ๊ตฌํด์ค. 'PRICE_GROUP' ๊ธฐ์ค์ผ๋ก GROUP BY
ํ COUNT(*)
๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ํญ๋ชฉ๋ณ ๊ฐ์ ๊ตฌํด์คORDER BY
์ด์ฉํ์ฌ 'PRICE_GROUP' ์ปฌ๋ผ๋ณ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌGROUP BY
์ CASE
๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ๊ฐ๋ณ ์ง๊ณ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ๊ณต๋ถํ ์ ์๋ ๋ฌธ์ ์์.