본문 바로가기
Coding Test/SQL Coding Test

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

by nam_ji 2024. 1. 19.

입양 시각 구하기 (1)

문제

  • 동물 보호소에서 입양 보낸 동물의 정보를 담은 animal_outs 테이블이 있습니다.
  • animal_outs 테이블에서 입양이 가장 활발하게 일어나는 시간을 알아보는 문제입니다.
    1. 09:00부터 19:59까지의 시간대에
    2. 각 시간별로 입양 건수
    3. 결과는 시간 순으로 정렬하도록 조회하는 문제입니다.


프로그래머스 코드

  • SELECT를 이용하여 조회하고 싶은 컬럼을 작성합니다.
  • 여기서 각 컬럼을 수정하여 시간은 시만 조회하고, 각 시간대별로 횟수를 조회할 수 있게 COUNT를 사용하여 조회하도록 하였습니다.
  • FROM을 이용하여 조회할 테이블명을 작성하고
  • GROUP BY를 이용하여 datetime 컬럼을 전체 조회할 수 있게 하고
  • HAVING을 이용하여 datetime을 전체 중에서 9시부터 19시까지 조회할 수 있게 했습니다.
  • ORDER BY를 이용하여 시간대별로 오름차순 정렬하도록 했습니다.
  • 두번째 방법은 FROM절까지는 동일하고
  • 뒤에 WHERE절을 이용하여 datetime을 9시부터 19시까지 조회되도록 하고
  • GROUP BY를 이용하여 datetime 컬럼의 전체가 조회되도록 하고
  • ORDER BY를 이용하여 시간대별로 정렬되도록 했습니다.
-- 코드를 입력하세요
SELECT
    HOUR(datetime) HOUR,
    COUNT(datetime) AS COUNT
FROM animal_outs
GROUP BY HOUR(datetime)
HAVING HOUR >= 9 AND HOUR <= 19
ORDER BY HOUR;

SELECT
    HOUR(datetime) HOUR,
    COUNT(datetime) AS COUNT
FROM animal_outs
WHERE HOUR(datetime) >= 9 AND HOUR(datetime) <= 19
GROUP BY HOUR
ORDER BY HOUR;