๐ŸŽ๐ŸŽ—[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฐ€๊ฒฉ๋Œ€ ๋ณ„ ์ƒํ’ˆ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ

Chobbyยท2022๋…„ 11์›” 28์ผ
1

SQL

๋ชฉ๋ก ๋ณด๊ธฐ
29/41

๋ฌธ์ œ ์„ค๋ช…
๋‹ค์Œ์€ ์–ด๋Š ์˜๋ฅ˜ ์‡ผํ•‘๋ชฐ์—์„œ ํŒ๋งค์ค‘์ธ ์ƒํ’ˆ๋“ค์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ PRODUCT ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. PRODUCT ํ…Œ์ด๋ธ”์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์œผ๋ฉฐ, PRODUCT_ID, PRODUCT_CODE, PRICE๋Š” ๊ฐ๊ฐ ์ƒํ’ˆ ID, ์ƒํ’ˆ์ฝ”๋“œ, ํŒ๋งค๊ฐ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

Column name Type Nullable
PRODUCT_ID INTEGER FALSE
PRODUCT_CODE VARCHAR(8) FALSE
PRICE INTEGER FALSE
์ƒํ’ˆ ๋ณ„๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” 8์ž๋ฆฌ ์ƒํ’ˆ์ฝ”๋“œ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ์•ž 2์ž๋ฆฌ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๐Ÿงก๋ฌธ์ œ

PRODUCT ํ…Œ์ด๋ธ”์—์„œ ๋งŒ์› ๋‹จ์œ„์˜ ๊ฐ€๊ฒฉ๋Œ€ ๋ณ„๋กœ ์ƒํ’ˆ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ปฌ๋Ÿผ๋ช…์€ ๊ฐ๊ฐ ์ปฌ๋Ÿผ๋ช…์€ PRICE_GROUP, PRODUCTS๋กœ ์ง€์ •ํ•ด์ฃผ์‹œ๊ณ  ๊ฐ€๊ฒฉ๋Œ€ ์ •๋ณด๋Š” ๊ฐ ๊ตฌ๊ฐ„์˜ ์ตœ์†Œ๊ธˆ์•ก(10,000์› ์ด์ƒ ~ 20,000 ๋ฏธ๋งŒ์ธ ๊ตฌ๊ฐ„์ธ ๊ฒฝ์šฐ 10,000)์œผ๋กœ ํ‘œ์‹œํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๊ฐ€๊ฒฉ๋Œ€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.


๐Ÿ’›์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค์–ด PRODUCT ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด

PRODUCT_IDPRODUCT_CODEPRICE
1A100001110000
2A10000459000
3C300000222000
4C300000615000
5C300001030000
6K100002317000

๋งŒ์› ๋‹จ์œ„์˜ ๊ฐ€๊ฒฉ๋Œ€ ๋ณ„๋กœ ์ƒํ’ˆ์„ ๋‚˜๋ˆ„๋ฉด

  • ๊ฐ€๊ฒฉ๋Œ€๊ฐ€ 0์› ~ 1๋งŒ์› ๋ฏธ๋งŒ์ธ ์ƒํ’ˆ์€ PRODUCT_ID ๊ฐ€ 2์ธ ์ƒํ’ˆ 1๊ฐœ,
  • ๊ฐ€๊ฒฉ๋Œ€๊ฐ€ 1๋งŒ์› ์ด์ƒ ~ 2๋งŒ์› ๋ฏธ๋งŒ์ธ ์ƒํ’ˆ๋“ค์€ PRODUCT_ID ๊ฐ€ 1, 4, 6์ธ ์ƒํ’ˆ 3๊ฐœ,
  • ๊ฐ€๊ฒฉ๋Œ€๊ฐ€ 2๋งŒ์› ์ด์ƒ ~ 3๋งŒ์› ๋ฏธ๋งŒ์ธ ์ƒํ’ˆ์€ PRODUCT_ID ๊ฐ€ 3์ธ ์ƒํ’ˆ 1๊ฐœ,
  • ๊ฐ€๊ฒฉ๋Œ€๊ฐ€ 3๋งŒ์› ์ด์ƒ ~ 4๋งŒ์› ๋ฏธ๋งŒ์ธ ์ƒํ’ˆ์€ PRODUCT_ID ๊ฐ€ 5์ธ ์ƒํ’ˆ 1๊ฐœ,

์— ๊ฐ๊ฐ ํ•ด๋‹นํ•˜๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

PRICE_GROUPPRODUCTS
01
100003
200001
300001

๐Ÿ’š๋‚˜์˜ ํ’€์ด

SELECT 
SUBSTR(PRICE,1,1)*10000 AS PRICE_GROUP,
COUNT(*) AS RPODUCTS
FROM PRODUCT
GROUP BY SUBSTR(PRICE,1,1)*10000
ORDER BY SUBSTR(PRICE,1,1)*10000
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

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