Growth ๐ŸŒณ/Practice ๐Ÿ’ป

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์„ฑ๋ถ„์œผ๋กœ ๊ตฌ๋ถ„ํ•œ ์•„์ด์Šคํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋Ÿ‰

์ธ” 2022. 11. 14. 20:17

๐Ÿ“ข ๋ณธ ํฌ์ŠคํŒ…์— ํ™œ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ฌธ์ œ ๋ฐ ์ž๋ฃŒ ์ถœ์ฒ˜๋Š”

       ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต,   
       https://school.programmers.co.kr/learn/challenges?page=1&languages=mysql%2Coracle
์ž„์„ ๋ฐํž™๋‹ˆ๋‹ค.

 


โ–  ๋ฌธ์ œ

๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ์•„์ด์Šคํฌ๋ฆผ ๊ฐ€๊ฒŒ์˜ ์ƒ๋ฐ˜๊ธฐ ์ฃผ๋ฌธ ์ •๋ณด๋ฅผ ๋‹ด์€ FIRST_HALF ํ…Œ์ด๋ธ”๊ณผ ์•„์ด์Šคํฌ๋ฆผ ์„ฑ๋ถ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์€ ICECREAM_INFO ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. FIRST_HALF ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, SHIPMENT_ID, FLAVOR, TOTAL_ORDER ๋Š” ๊ฐ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ๊ณต์žฅ์—์„œ ์•„์ด์Šคํฌ๋ฆผ ๊ฐ€๊ฒŒ๊นŒ์ง€์˜ ์ถœํ•˜ ๋ฒˆํ˜ธ, ์•„์ด์Šคํฌ๋ฆผ ๋ง›, ์ƒ๋ฐ˜๊ธฐ ์•„์ด์Šคํฌ๋ฆผ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. FIRST_HALF ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธ ํ‚ค๋Š” FLAVOR์ž…๋‹ˆ๋‹ค.

NAME TYPE NULLABLE
SHIPMENT_ID INT(N) FALSE
FLAVOR VARCHAR(N) FALSE
TOTAL_ORDER INT(N) FALSE

ICECREAM_INFO ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, FLAVOR, INGREDITENT_TYPE ์€ ๊ฐ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ๋ง›, ์•„์ด์Šคํฌ๋ฆผ์˜ ์„ฑ๋ถ„ ํƒ€์ž…์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. INGREDIENT_TYPE์—๋Š” ์•„์ด์Šคํฌ๋ฆผ์˜ ์ฃผ ์„ฑ๋ถ„์ด ์„คํƒ•์ด๋ฉด sugar_based๋ผ๊ณ  ์ž…๋ ฅ๋˜๊ณ , ์•„์ด์Šคํฌ๋ฆผ์˜ ์ฃผ ์„ฑ๋ถ„์ด ๊ณผ์ผ์ด๋ฉด fruit_based๋ผ๊ณ  ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค. ICECREAM_INFO์˜ ๊ธฐ๋ณธ ํ‚ค๋Š” FLAVOR์ž…๋‹ˆ๋‹ค. ICECREAM_INFOํ…Œ์ด๋ธ”์˜ FLAVOR๋Š” FIRST_HALF ํ…Œ์ด๋ธ”์˜ FLAVOR์˜ ์™ธ๋ž˜ ํ‚ค์ž…๋‹ˆ๋‹ค.

NAME TYPE NULLABLE
FLAVOR VARCHAR(N) FALSE
INGREDIENT_TYPE VARCHAR(N) FALSE

 

๋ฌธ์ œ

์ƒ๋ฐ˜๊ธฐ ๋™์•ˆ ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ์„ฑ๋ถ„ ํƒ€์ž…๊ณผ ์„ฑ๋ถ„ ํƒ€์ž…์— ๋Œ€ํ•œ ์•„์ด์Šคํฌ๋ฆผ์˜ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ์ด์ฃผ๋ฌธ๋Ÿ‰์ด ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ปฌ๋Ÿผ๋ช…์€ TOTAL_ORDER๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”.


โ–  ํ’€์ด

  ๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ  

์ƒ๋ฐ˜๊ธฐ ๋™์•ˆ ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ์„ฑ๋ถ„ ํƒ€์ž…๊ณผ ์„ฑ๋ถ„ ํƒ€์ž…์— ๋Œ€ํ•œ ์•„์ด์Šคํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋Ÿ‰ > ์„ฑ๋ถ„ํƒ€์ž… GROUP BY  

์•„์ด์Šคํฌ๋ฆผ์˜ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ > ์ง‘๊ณ„ํ•จ์ˆ˜ SUM

์ด์ฃผ๋ฌธ๋Ÿ‰์ด ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ >  ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ

 

SELECT II.INGREDIENT_TYPE, SUM(FH.TOTAL_ORDER) TOTAL_ORDER 
 FROM FIRST_HALF FH
 INNER JOIN ICECREAM_INFO II
 ON FH.FLAVOR = II.FLAVOR
 GROUP BY II.INGREDIENT_TYPE
 ORDER BY 2 ASC