프로그래머스/SQL

[Lv.2] 입양 시각 구하기

Park SH 2025. 1. 31. 14:18

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

 

사용 언어

MySQL

 

테이블 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

 

요구사항

1. 시간대별 입양 건수

2. 시간은 09:00부터 19:59까지

3. 시간대 순으로 정렬

 

풀이

1. GROUP BY로 시간대별로 그룹화

   (시간대는 DATETIME에서 시(H)만 추출)

2. WHERE로 DATETIME을 시간(H)으로 변환된 것 중 09부터 19까지

3. ORDER BY로 시간대 정렬 (오름차순(ASC)는 생략가능)

 

SELECT DATE_FORMAT(DATETIME, '%H') AS HOUR
    , COUNT(ANIMAL_ID) AS COUNT
FROM ANIMAL_OUTS
WHERE DATE_FORMAT(DATETIME, '%H') BETWEEN 09 AND 19
GROUP BY HOUR
ORDER BY HOUR;