1) ๋ฌธ์ ์ค๋ช
- ๋ค์์ ์์ด์คํฌ๋ฆผ ๊ฐ๊ฒ์ ์๋ฐ๊ธฐ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ๋ด์ FIRST_HALF ํ ์ด๋ธ๊ณผ 7์์ ์์ด์คํฌ๋ฆผ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ๋ด์ JULY ํ ์ด๋ธ์ ๋๋ค.
- FIRST_HALF ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, SHIPMENT_ID, FLAVOR, TOTAL_ORDER๋ ๊ฐ๊ฐ ์์ด์คํฌ๋ฆผ ๊ณต์ฅ์์ ์์ด์คํฌ๋ฆผ ๊ฐ๊ฒ๊น์ง์ ์ถํ ๋ฒํธ, ์์ด์คํฌ๋ฆผ ๋ง, ์๋ฐ๊ธฐ ์์ด์คํฌ๋ฆผ ์ด์ฃผ๋ฌธ๋์ ๋ํ๋ ๋๋ค.
- FIRST_HALF ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ FLAVOR์ ๋๋ค. FIRST_HALFํ ์ด๋ธ์ SHIPMENT_ID๋ JULYํ ์ด๋ธ์ SHIPMENT_ID์ ์ธ๋ ํค์ ๋๋ค.
Column name | Type | Nullable |
NAME | TYPE | NULLABLE |
SHIPMENT_ID | INT(N) | FALSE |
FLAVOR | VARCHAR(N) | FALSE |
TOTAL_ORDER | INT(N) | FALSE |
- JULY ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, SHIPMENT_ID, FLAVOR, TOTAL_ORDER ์ ๊ฐ๊ฐ ์์ด์คํฌ๋ฆผ ๊ณต์ฅ์์ ์์ด์คํฌ๋ฆผ ๊ฐ๊ฒ๊น์ง์ ์ถํ ๋ฒํธ, ์์ด์คํฌ๋ฆผ ๋ง, 7์ ์์ด์คํฌ๋ฆผ ์ด์ฃผ๋ฌธ๋์ ๋ํ๋ ๋๋ค.
- JULY ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ SHIPMENT_ID์ ๋๋ค.
- JULYํ ์ด๋ธ์ FLAVOR๋ FIRST_HALF ํ ์ด๋ธ์ FLAVOR์ ์ธ๋ ํค์ ๋๋ค.
- 7์์๋ ์์ด์คํฌ๋ฆผ ์ฃผ๋ฌธ๋์ด ๋ง์ ๊ฐ์ ์์ด์คํฌ๋ฆผ์ ๋ํ์ฌ ์๋ก ๋ค๋ฅธ ๋ ๊ณต์ฅ์์ ์์ด์คํฌ๋ฆผ ๊ฐ๊ฒ๋ก ์ถํ๋ฅผ ์งํํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
- ์ด ๊ฒฝ์ฐ ๊ฐ์ ๋ง์ ์์ด์คํฌ๋ฆผ์ด๋ผ๋ ๋ค๋ฅธ ์ถํ ๋ฒํธ๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค.
Column name | Type | Nullable |
NAME | TYPE | NULLABLE |
SHIPMENT_ID | INT(N) | FALSE |
FLAVOR | VARCHAR(N) | FALSE |
TOTAL_ORDER | INT(N) | FALSE |
2) ๋ฌธ์
- 7์ ์์ด์คํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋๊ณผ ์๋ฐ๊ธฐ์ ์์ด์คํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋์ ๋ํ ๊ฐ์ด ํฐ ์์๋๋ก ์์ 3๊ฐ์ ๋ง์ ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
3) ์์
- ์๋ฅผ ๋ค์ด 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 |
- JULYํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
SHIPMENT_ID | FLAVOR | TOTAL_ORDER |
101 | chocolate | 520 |
102 | vanilla | 560 |
103 | mint_chocolate | 400 |
104 | caramel | 460 |
105 | white_chocolate | 350 |
106 | peach | 500 |
107 | watermelon | 780 |
108 | mango | 790 |
109 | strawberry | 520 |
110 | melon | 400 |
111 | orange | 250 |
112 | pineapple | 200 |
208 | mango | 110 |
209 | strawberry | 220 |
- 7์ ์์ด์คํฌ๋ฆผ ์ด์ฃผ๋ฌธ๋๊ณผ ์๋ฐ๊ธฐ์ ์์ด์คํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋์ ๋ํ ๊ฐ์ด ํฐ ์์๋๋ก ์์ 3๊ฐ์ ๋ง์ ์กฐํํ๋ฉด strawberry(520 + 220 + 3,100 = 3,840), mango(790 + 110 + 2,900 = 3,800), chocolate(520 + 3,200 = 3,720) ์์ ๋๋ค.
- ๋ฐ๋ผ์ SQL ๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
FLAVOR |
strawberry |
mango |
chocolate |
4) ํ์ด
SELECT f.FLAVOR
FROM FIRST_HALF f
INNER JOIN (SELECT FLAVOR, SUM(TOTAL_ORDER) AS "TOTAL_ORDER"
FROM JULY
GROUP BY FLAVOR) j
ON f.FLAVOR = j.FLAVOR
ORDER BY f.TOTAL_ORDER + j.TOTAL_ORDER DESC
LIMIT 3;
[Reference]
๋ฐ์ํ