๐Ÿ’ SQL (Programmers)/Group By

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฌผ๊ณ ๊ธฐ๋ณ„ ์ˆ˜์™€ ์ตœ๋Œ€ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ (298519)

์„ ๋‹ฌ 2024. 10. 24. 18:53
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

FISH_INFO์—์„œ ํ‰๊ท  ๊ธธ์ด๊ฐ€ 33cm ์ด์ƒ์ธ ๋ฌผ๊ณ ๊ธฐ๋“ค์„

์ข…๋ฅ˜๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ

์žก์€ ์ˆ˜, ์ตœ๋Œ€ ๊ธธ์ด, ๋ฌผ๊ณ ๊ธฐ์˜ ์ข…๋ฅ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

๊ฒฐ๊ณผ๋Š” ๋ฌผ๊ณ ๊ธฐ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ ,

10cm์ดํ•˜์˜ ๋ฌผ๊ณ ๊ธฐ๋“ค์€ 10cm๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ํ‰๊ท  ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์ฃผ์„ธ์š”.

 

์ปฌ๋Ÿผ๋ช…์€ ๋ฌผ๊ณ ๊ธฐ์˜ ์ข…๋ฅ˜ 'FISH_TYPE', ์žก์€ ์ˆ˜ 'FISH_COUNT', ์ตœ๋Œ€ ๊ธธ์ด 'MAX_LENGTH'๋กœ ํ•ด์ฃผ์„ธ์š”.

 

ํ’€์ด

select count(ID) as FISH_COUNT, max(LENGTH) as MAX_LENGTH, FISH_TYPE
from FISH_INFO
group by FISH_TYPE
having avg ( 
    case when LENGTH is null then 10
    else LENGTH end
) >= 33
order by FISH_TYPE asc

 

 

๋ฐ˜์‘ํ˜•