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이다" 라는 조건은 데이터의 특성을 설명한 것일 뿐, 출력에서 제외하라는 필터링 조건이 아니었다
지문을 읽을 때 데이터의 특성과 요구사항을 분리해서 해석하는 능력이 필요함을 느꼈다

'코딩테스트' 카테고리의 다른 글
| [26.04.08 코테/회고(MySQL)]-연도 별 평균 미세먼지 농도 조회하기 (0) | 2026.04.08 |
|---|---|
| [26.04.07 코테/회고(MySQL)]-월별 잡은 물고기 수 구하기 (0) | 2026.04.07 |
| [26.04.03 코테/회고(MySQL/Oracle)]-가격대 별 상품 개수 구하기 (0) | 2026.04.03 |
| [26.04.02 코테/회고(MySQL/Oracle)]-조건에 부합하는 중고거래 상태 조회하기 (0) | 2026.04.02 |
| [26.04.01 코테/회고(MySQL)]-조건에 맞는 사원 정보 조회하기 (0) | 2026.04.01 |