코딩테스트

[26.04.06 코테/회고(MySQL)]-물고기 종류 별 잡은 수 구하기

지니248 2026. 4. 6. 16:13

Lv2. 물고기 종류 별 잡은 수 구하기 (MySQL)

링크: https://school.programmers.co.kr/learn/courses/30/lessons/293257

 

내가 작성한 코드

SELECT COUNT(I.ID) AS FISH_COUNT, FISH_NAME
FROM FISH_INFO I
JOIN FISH_NAME_INFO N
  ON I.FISH_TYPE = N.FISH_TYPE
GROUP BY N.FISH_NAME
ORDER BY COUNT(I.ID) DESC;

 

문제 회고

1. WHERE절에 IS NOT NULL 추가하여 오류 발생

- 이유:

   - LENGTH에 NULL만 있는 경우는 없다 하여 NULL을 제거해 주어야 한다고 생각했다

   - FISH_COUNT에 물고기의 개수가 정확히 카운트 되지 않았다 (NULL을 제거한 결과가 카운트됨)

- 해결:

   - 문제 예시에서 LENGTH가 NULL인 물고기도 전체 마리 수 카운트에 포함되어야 한다는 것을 데이터 비교를 통해 발견했다

   - WHERE 절을 제거하여 이를 해결하였다

- "10cm 이하는 NULL이다" 라는 조건은 데이터의 특성을 설명한 것일 뿐, 출력에서 제외하라는 필터링 조건이 아니었다

  지문을 읽을 때 데이터의 특성과 요구사항을 분리해서 해석하는 능력이 필요함을 느꼈다

사진1) WHERE LENGTH IS NOT NULL