자료구조 & 알고리즘ㅤ/ㅤ프로그래머스

[SQL] GROUP BY (3) 입양 시각 구하기 1

  • 테이블: ANIMAL_OUTS는 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블
  • 컬럼: ANIMAL_ID는 동물의 아이디, ANIMAL_TYPE는 생물 종, DATETIME는 보호 시작일, NAME는 이름, SEX_UPON_INTAKE는 성별 및 중성화 여부
NAME TYPE NULLABLE
ANIMAL_ID VARCHAR(N) FALSE
ANIMAL_TYPE VARCHAR(N) FALSE
DATETIME DATETIME FALSE
NAME VARCHAR(N) TRUE
SEX_UPON_OUTCOME VARCHAR(N) FALSE

 

■ 문제

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

 

 

 핵심스킬

  • HOUR( _ )
  • GROUP BY
  • HAVING _ BETWEEN _ AND _

 

 풀이

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

 

 문제 링크

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