SQL 코드카타

입양 시각 구하기(1) # HOUR()

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

SELECT DATE_FORMAT(datetime, '%H') "HOUR"
     , COUNT(*) COUNT
FROM animal_outs
WHERE DATE_FORMAT(datetime, '%H')  BETWEEN 09 AND 19
GROUP BY 1
ORDER BY 1


# 다른 풀이 방식

SELECT HOUR(datetime) AS HOUR, COUNT(*) AS COUNT
FROM animal_outs
WHERE HOUR(datetime) BETWEEN 9 AND 19
GROUP BY 1
ORDER BY 1


# 다른 풀이 방식

SELECT HOUR(DATETIME) AS HOUR
     , COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR 
HAVING HOUR BETWEEN 9 AND 19        # where절 이 아닌 having 을 사용해도 가능
ORDER BY HOUR

 

#

HOUR(date)

: 시간에 해당하는 숫자를 반환(0~23)

MOMTH(date)

: 월에 해당 하는 숫자를 반환(0~12)

DAY(date)

: 일자에 해당하는 숫자를 반환(0~31)

LAST_DAY(date)

: 해당 월의 마지막 날짜 정보반환