SQL 고득점 Kit - 7.24

김동현·2024년 8월 13일

SQL 고득점 Kit

목록 보기
24/56

GROUP BY - 월별 잡은 물고기 수 구하기

문제

월별 잡은 물고기의 수와 월을 출력하는 SQL문을 작성해주세요.

잡은 물고기 수 컬럼명은 FISH_COUNT, 월 컬럼명은 MONTH로 해주세요.
결과는 월을 기준으로 오름차순 정렬해주세요.
단, 월은 숫자형태 (1~12) 로 출력하며 9 이하의 숫자는 두 자리로 출력하지 않습니다. 잡은 물고기가 없는 월은 출력하지 않습니다.

https://school.programmers.co.kr/learn/courses/30/lessons/293260

풀이

SELECT 
    COUNT(MONTH) AS FISH_COUNT, 
    MONTH
FROM(
    SELECT 
        MONTH(TIME) AS MONTH
    FROM 
        FISH_INFO  
    ) f
GROUP BY 
    f.MONTH
ORDER BY 
    MONTH 

리뷰

  • 날짜의 월만 어떻게 따로 그룹화를 할 수 있을까?가 포인트였다.
  • TIME으로 그룹화를 진행하면 동일한 날짜가 존재하기 때문에 값이 1개로 취급되어 조건을 만족하지 못핬다.
  • 따라서, 월만 따로 뽑는 테이블를 서브쿼리를 이용하여 진행했다.
  • 각 월별 그룹화를 진행한 후 그것의 카운트를 해주는 것으로 제출했다.
  • 서브쿼리가 많이 유용하게 쓰이고, 문제를 다양한 관점에서 접근할 수 있어야 쉽게 풀 수 있는 것 같다. (사고력 필요?)

GitHub

https://github.com/lasentia/SQL_Study/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/293260.%E2%80%85%EC%9B%94%EB%B3%84%E2%80%85%EC%9E%A1%EC%9D%80%E2%80%85%EB%AC%BC%EA%B3%A0%EA%B8%B0%E2%80%85%EC%88%98%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0

profile
'The best way to get started is to quit talking and begin doing.'

0개의 댓글