[프로그래머스 SQL/293257] 물고기 종류 별 잡은 수 구하기
in Study / Coding Test
☑️ 문제
☑️ 풀이
첫 번째 풀이
SELECT COUNT(*) AS FISH_COUNT, (SELECT FISH_NAME FROM FISH_NAME_INFO WHERE FISH_TYPE = FI.FISH_TYPE) AS FISH_NAME
FROM FISH_INFO FI INNER JOIN FISH_NAME_INFO FNI
ON FI.FISH_TYPE = FNI.FISH_TYPE
GROUP BY FI.FISH_TYPE
ORDER BY FISH_COUNT DESC
- 이 풀이는 성공했지만 SELECT 절에서 다시 서브쿼리로 FISH_NAME을 가져오는 과정이 비효율적이다.
- 바로 FISH_NAME을 기준으로 그룹화하는 것이 더 직관적!
두 번째 풀이
SELECT COUNT(*) AS FISH_COUNT, FISH_NAME
FROM FISH_INFO FI INNER JOIN FISH_NAME_INFO FNI
ON FI.FISH_TYPE = FNI.FISH_TYPE
GROUP BY FISH_NAME
ORDER BY FISH_COUNT DESC