[SQL 문제 풀기] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기(298519)

lhs's avatar
Feb 06, 2025
[SQL 문제 풀기] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기(298519)
 

1. 문제 풀이 아이디어

  • GROUP BY 절로 그룹화하여 개수, 최대 길이, 평균 길이를 구하고 평균이 33 이상인 그룹을 필터링하여 문제를 해결한다.

2. 나의 정답 코드

SELECT COUNT(*) fish_count, MAX(length) max_length, fish_type FROM fish_info GROUP BY fish_type HAVING AVG(IFNULL(length, 10)) >= 33 ORDER BY fish_type;

3. 정리

  • FROM 절에서 fish_info 테이블을 조회하고 GROUP BY 절로 fish_type별로 그룹화한다.
  • SELECT 절에서 COUNT(*)로 개수를 fish_count로, MAX(length)로 최대 길이를 max_length로, fish_type을 조회한다.
  • HAVING 절에서 AVG(IFNULL(length, 10))를 사용하여 lengthNULL이면 10으로 대체한 후 평균을 구하고, 평균 길이가 33 이상인 그룹만 필터링한다.
  • ORDER BY 절에서 fish_type을 기준으로 정렬한다.
Share article

LHS's Study Space