02/02 SQL ๋ฌธ์ œํ’€์ด(๐ŸŒŸ๐ŸŒŸ)

Data Architect / Engineerยท2024๋…„ 2์›” 2์ผ
1

1์ผ_1SQL

๋ชฉ๋ก ๋ณด๊ธฐ
22/63
post-thumbnail

๋ฌธ์ œ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 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;
  • 'PRICE' ๊ฐ’์„ ๋งŒ์› ๋‹จ์œ„์˜ ๊ฐ€๊ฒฉ๋Œ€๋กœ ๊ทธ๋ฃนํ•‘ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์ž„
  • CASE WHEN THEN ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๊ฒฉ์„ ๋‹จ์œ„(๋งŒ์›)์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ์ œ์ผ ์ฒซ ์ž๋ฆฌ์ˆ˜๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด FLOOR() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ›„, ๋‹ค์‹œ ๋‹จ์œ„(๋งŒ์›)์œผ๋กœ ๊ณฑํ•˜์—ฌ '๊ฐ€๊ฒฉ๋Œ€'๋ณ„๋กœ ๊ทธ๋ฃน(PRICE_GROUP)์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค
  • COUNT(*) ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ๊ฐ€๊ฒฉ๋Œ€์˜ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ
  • GROUP BYํ†ตํ•ด ์œ„์—์„œ ๊ตฌํ•œ 'PRICE_GROUP' ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ•‘
  • ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ ์ด๋Ÿฐ ์‹์˜ ๊ฐ€๊ฒฉ๋Œ€๋ณ„ ๊ทธ๋ฃน ์„ค์ •์€ ๊ฒฝํ—˜์ƒ ์ฝ”ํ…Œ๋‚˜ ๊ณผ์ œ์— ์ž˜ ๋‚˜์˜ค๊ณ , RFM ๋ถ„์„, ๋งค์ถœ ๋ถ„์„ ๋“ฑ์—์„œ๋„ ์ž์ฃผ ๋‚˜์˜ค๋ฏ€๋กœ ์ž์ฃผ ํ’€์–ด๋ณผ ๊ฒƒ!
  • ํŠนํžˆ CASE WHEN THEN~ FLOOR ๋ถ€๋ถ„์€ ์‹ค์ „์—์„œ ๋งˆ์ฃผ์น˜๋ฉด, ์ฟผ๋ฆฌ๊ฐ€ ๋ฐ”๋กœ ์ƒ๊ฐ์ด ์•ˆ ๋‚  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ์ต์ˆ™ํ•ด์ง€์ž
profile
์งˆ๋ฌธ์€ ๊ณ„์†๋ผ ์•„์˜ค์—

0๊ฐœ์˜ ๋Œ“๊ธ€