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

이말감·2022년 2월 1일
0

SQL

목록 보기
5/14

문제

링크

코드

SELECT HOUR(DATETIME) AS HOUR, COUNT(HOUR(DATETIME)) AS COUNT FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) < 20
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME)

풀이

먼저 09시부터 19시 59분까지 시간대 별 입양 건 수를 조회하고 싶다고 했다.
그런데 테이블에 있는 데이터는 DATETIME(년, 월, 일, 시, 분, 초)로 이루어져 있으므로 시간만 골라내면 된다.

DATETIME에서 시간만 골라내기

MYSQL에서 날짜 데이터의 일부만 추출하는 방법은 간단했다.

  • YEAR : 연도
  • MONTH : 월
  • DAY : 일
  • HOUR : 시
  • MINUTE : 분
  • SECOND : 초

우리는 문제에서 시간대별로 구하라고 했으니 HOUR(DATETIME)을 사용하면 된다.
그리고 WHERE로 시간대의 범위를 설정했다.

각 시간대별로 입양이 몇 건이나 발생했는지 알려면 시간대별로 묶어줘야 한다.
그러므로 GROUP BY HOUR(DATETIME)

마지막으로 결과는 시간대 순으로 정렬하라고 했으니까
ORDER BY HOUR(DATETIME)으로 정렬해주면 완료.

profile
전 척척학사지만 말하는 감자에요

0개의 댓글