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

2023. 1. 31. 15:03ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2023

728x90

๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ์•„์ด์Šคํฌ๋ฆผ ๊ฐ€๊ฒŒ์˜ ์ƒ๋ฐ˜๊ธฐ ์ฃผ๋ฌธ ์ •๋ณด๋ฅผ ๋‹ด์€ 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๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”.


์˜ˆ์‹œ

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

SHIPMENT_ID              FLAVOR                                                                                                TOTAL_ORDER
101 chocolate 3200
102 vanilla 2800
103 mint_chocolate 1700
104 caramel 2600
105 white_chocolate 3100
106 peach 2450
107 watermelon 2150
108 mango 2900
109 strawberry 3100
110 melon 3150
111 orange 2900
112 pineapple 2900

 

ICECREAM_INFO ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด

FLAVOR                                                                                            INGREDIENT_TYPE
chocolate sugar_based
vanilla sugar_based
mint_chocolate sugar_based
caramel sugar_based
white_chocolate sugar_based
peach fruit_based
watermelon fruit_based
mango fruit_based
strawberry fruit_based
melon fruit_based
orange fruit_based
pineapple fruit_based

์ƒ๋ฐ˜๊ธฐ์— ์•„์ด์Šคํฌ๋ฆผ์˜ ์ฃผ ์„ฑ๋ถ„์ด ์„คํƒ•์ธ ์•„์ด์Šคํฌ๋ฆผ๋“ค์— ๋Œ€ํ•œ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ๊ตฌํ•˜๋ฉด 3,200 + 2,800 + 1,700 + 2,600 + 3,100 = 13,400์ž…๋‹ˆ๋‹ค. ์•„์ด์Šคํฌ๋ฆผ์˜ ์ฃผ ์„ฑ๋ถ„์ด ๊ณผ์ผ์ธ ์•„์ด์Šคํฌ๋ฆผ๋“ค์— ๋Œ€ํ•œ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ๊ตฌํ•˜๋ฉด 3,100 + 2,450 + 2,150 + 2,900 + 3,150 + 2,900 + 2,900 = 19,550์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด์ฃผ๋ฌธ๋Ÿ‰์ด ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

INGREDIENT_TYPE                                                                                          TOTAL_ORDER
sugar_based 13400
fruit_based 19550

 

 

๋‚˜์˜ ํ’€์ด

์ด ๋ฌธ์ œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ GROUP BY๋ฅผ ํ†ตํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. 

FIRST_HALF ํ…Œ์ด๋ธ”๊ณผ ICECREAM_INFO ํ…Œ์ด๋ธ”์— ์žˆ๋Š” FLAVOR๋ฅผ ํ†ตํ•ด ์กฐ์ธ์„ ํ•˜๊ณ , 

๊ฑฐ๊ธฐ์„œ ์•„์ด์Šคํฌ๋ฆผ ์„ฑ๋ถ„ ํƒ€์ž…๊ณผ  SUM์„ ํ†ตํ•ด์„œ ์ด ์ฃผ๋ฌธ๋Ÿ‰์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90