CODING TEST/MySQL

Lv2 - 입양 시각 구하기(1)

iamyuunzo 2025. 7. 21. 15:05

📌 문제 정보

- 문제 이름 : 프로그래머스 - (GROUP BY) 입양 시각 구하기(1)

- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/59412

 

 

 

📌 문제 요약

- NIMAL_OUTS 테이블 : ANIMAL_ID(동물의 아이디), ANIMAL_TYPE(생물 종), DATETIME(입양일), NAME(이름), SEX_UPON_OUTCOME(성별 및 중성화 여부)

- 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

 

출력)

HOUR COUNT
9 1
10 2
11 13
12 10
13 14
14 9
15 7
16 10
17 12
18 16
19 2

 

 

 

📌 내 풀이 및 코드

SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) BETWEEN 9 AND 19
GROUP BY HOUR
ORDER BY HOUR;

- 시간을 따로 지정해서 추출할 수 있는 함수가 있다는 것을 몰랐음.

 

 

 

📌 새로 배운 문법

<-- 이번 문제에서 새로 배운 Java 문법 정리 -->

** HOUR() **

- MySQL에서 DATETIME or TIME 값에서 시간(hour) 부분만 뽑아주는 함수

- 24시간 기준의 시 정수값이 리턴됨

- HOUR (날짜/시간 컬럼 or 값)