- [프로그래머스][SQL 고득점 KIT][GROUP BY][Level 2] 월별 잡은 물고기 수 구하기2024년 10월 22일
- 쪼시
- 작성자
- 2024.10.22.:23
반응형https://school.programmers.co.kr/learn/courses/30/lessons/293260
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[프로그래머스][SQL 고득점 KIT][GROUP BY][Level 2] 월별 잡은 물고기 수 구하기
문제 설명
낚시앱에서 사용하는 FISH_INFO 테이블은 잡은 물고기들의 정보를 담고 있습니다. FISH_INFO 테이블의 구조는 다음과 같으며 ID, FISH_TYPE, LENGTH, TIME은 각각 잡은 물고기의 ID, 물고기의 종류(숫자), 잡은 물고기의 길이(cm), 물고기를 잡은 날짜를 나타냅니다.
Column name Type Nullable ID INTEGER FALSE FISH_TYPE INTEGER FALSE LENGTH FLOAT TRUE TIME DATE FALSE 단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없습니다
문제
월별 잡은 물고기의 수와 월을 출력하는 SQL문을 작성해주세요.
잡은 물고기 수 컬럼명은 FISH_COUNT, 월 컬럼명은 MONTH로 해주세요.
결과는 월을 기준으로 오름차순 정렬해주세요.
단, 월은 숫자형태 (1~12) 로 출력하며 9 이하의 숫자는 두 자리로 출력하지 않습니다. 잡은 물고기가 없는 월은 출력하지 않습니다.
예시
예를 들어 FISH_INFO 테이블이 다음과 같다면
* 생략 *
월별 잡은 물고기는 각각 1월에 2마리, 3월에 3마리, 4월에 3마리, 6월에 1마리, 7월에 1마리, 12 월에 2마리이고, 잡은 물고기가 없는 월은 출력하지 않으므로, 월에 대해 오름차순 정렬하면 결과는 다음과 같습니다.
FISH_COUNT MONTH 2 1 3 3 3 4 1 6 1 7 2 12
문제 풀이
- 월별 잡은 물고기의 수와 월을 출력하는 SQL문을 작성
- 잡은 물고기 수 컬럼명은 FISH_COUNT, 월 컬럼명은 MONTH로 명명
- 월을 기준으로 오름차순 정렬
- 잡은 물고기가 없는 월은 출력하지 않습니다.
SELECT COUNT(*) AS FISH_COUNT, MONTH(TIME) AS MONTH FROM FISH_INFO GROUP BY MONTH HAVING FISH_COUNT > 0 ORDER BY MONTH ASC
- 물고기의 수 FISH_COUNT, 월 MONTH 조회
- 월별로 물고기의 수를 조회하려면 월로 그룹화
- 잡은 물고기 수가 있는 데이터만 조회하려면 HAVING으로 카운트 0보다 크면 조회하도록 설정
- 월 기준으로 오름차순 ASC 정렬
실행 결과
FISH_COUNT MONTH 2 1 3 3 3 4 1 6 1 7 2 12 반응형'코딩 테스트 > SQL' 카테고리의 다른 글
[프로그래머스][SQL 고득점 KIT][GROUP BY][Level 3] 즐겨찾기가 가장 많은 식당 정보 출력하기 (3) 2024.10.22 [프로그래머스][SQL 고득점 KIT][GROUP BY][Level 3] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (2) 2024.10.22 [프로그래머스][SQL 고득점 KIT][GROUP BY][Level 2] 물고기 종류 별 잡은 수 구하기 (0) 2024.10.22 [프로그래머스][SQL 고득점 KIT][GROUP BY][Level 2] 노선별 평균 역 사이 거리 조회하기 (4) 2024.10.22 [프로그래머스][SQL 고득점 KIT][GROUP BY][Level 3] 부서별 평균 연봉 조회하기 (0) 2024.10.22 다음글이전글이전 글이 없습니다.댓글