[sql 프로그래머스] 입양 시각 구하기(1)

행복한 콩🌳·2022년 8월 31일
0

SQL

목록 보기
16/31
post-custom-banner

문제

문제 설명
ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다.

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

예시
SQL문을 실행하면 다음과 같이 나와야 합니다.

SELECT HOUR(DATETIME) AS 'HOUR', COUNT(DATETIME) 
FROM ANIMAL_OUTS 
GROUP BY HOUR
HAVING HOUR >= 9 AND HOUR <= 19 
ORDER BY HOUR

해설

DATETIME 컬럼을 사용해 풀면 되는데 테이블을 출력해보면 DATETIME은 "2014-06-28 13:40:00" 이 형식으로 되어있다. DATETIME을 시간으로 바꾸기 위해서는 HOUR 함수를 사용하면 된다.
SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT

COUNT 안 HOUR(DATETIME), DATETIME, * 모두 가능

SELECT문에서 hour(DATETIME)을 HOUR, count(ANIMAL_ID)를 COUNT로 재정의함.

시간대별 갯수를 출력하기 위해 그룹함수를 사용한다.
(AS HOUR이 적용됨)
GROUP BY HOUR

시간대순으로 정렬하기 위해 ORDER BY를 사용한다.
(AS HOUR이 적용됨)
ORDER BY HOUR

profile
매일매일 조금씩 모여 숲이 되자🐣
post-custom-banner

0개의 댓글