Technique/MySQL

[Lv.3] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기[GROUP BY, HAVING]

먼치 2024. 8. 23. 00:19

 

 

문제 해결을 위한 개념 정리

 

💡 GROUP BY & HAVING

  1. GROUP BY 에 여러 개의 컬럼을 넣어 그룹화
    ex) group by 성별, 나이
    => 성별과 나이가 동일한 그룹으로 그룹화 가능
    
    ⇒ group by에 여러 개의 컬럼을 넣어 다양한 경우의 수로 그룹화할 수 있다.
  2. Having 조건으로 출력 조건 걸기
    ⇒ count(*) 가 2 이상인 row만 출력
  3. count 집계함수로 group by로 그룹화 한 그룹 별 개수 확인

 

 

문제 해결 코드
SELECT COUNT(ID) AS FISH_COUNT, MAX(IFNULL(LENGTH,10)) AS MAX_LENGTH, FISH_TYPE
FROM FISH_INFO
GROUP BY FISH_TYPE
HAVING AVG(IFNULL(LENGTH, 10))>=33
ORDER BY FISH_TYPE ASC;