๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Problem_Solving/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‹ํ’ˆ๋ถ„๋ฅ˜๋ณ„ ๊ฐ€์žฅ ๋น„์‹ผ ์‹ํ’ˆ์˜ ์ •๋ณด ์กฐํšŒํ•˜๊ธฐ (SQL)

by ํฌ์ŠคํŠธ์‰์ดํฌ 2023. 4. 5.

<๋ฌธ์ œ๋งํฌ>

https://school.programmers.co.kr/learn/courses/30/lessons/131116

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

<ํ’€์ด ์ „๋žต>

1. group by๋ฅผ ํ†ตํ•ด ๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์ตœ๋Œ€ ๊ฐ€๊ฒฉ์„ ๊ตฌํ•ด์•ผ๋ฉ๋‹ˆ๋‹ค.

2. ์ด๋•Œ ํ‹€๋ฆฌ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€๋ฐ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•  ์ œํ’ˆ๋ช…(PROCUT_NAME)๊ณผ ์ตœ๋Œ€๊ฐ€๊ฒฉ(MAX_PRICE)๊ฐ€ ์ œ๋Œ€๋กœ ๋งค์นญ์ด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋‹ต์ด ๋ฉ๋‹ˆ๋‹ค.

SELECT CATEGORY, MAX(PRICE) AS 'MAX_PRICE', PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE CATEGORY IN ("๊ณผ์ž", "๊ตญ", "๊น€์น˜", "์‹์šฉ์œ ")
GROUP BY CATEGORY
ORDER BY 'MAX_PRICE' DESC

3. ๋”ฐ๋ผ์„œ WHERE์ ˆ์—์„œ ์„œ๋ธŒ์ฟผ๋ฅผ ์ด์šฉํ•ด ์ œํ’ˆ๊ณผ ๊ฐ€๊ฒฉ์„ ์กฐํšŒํ•ด์•ผ ๋ฉ๋‹ˆ๋‹ค.

 

<์ •๋‹ต์ฝ”๋“œ>

SELECT 
    CATEGORY, 
    PRICE AS 'MAX_PRICE', 
    PRODUCT_NAME
FROM FOOD_PRODUCT 
WHERE 
    PRICE IN (
        SELECT MAX(PRICE)
        FROM FOOD_PRODUCT
        GROUP BY CATEGORY)
    AND CATEGORY IN ('๊ณผ์ž', '๊ตญ', '๊น€์น˜', '์‹์šฉ์œ ')
ORDER BY PRICE DESC;

๋Œ“๊ธ€