Algorithm/Programmers
[프로그래머스] Oracle - (SQL 고득점 Kit) GROUP BY 입양 시각 구하기(1)
aldrn29
2023. 2. 21. 16:26
문제
보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 1) 09:00부터 19:59까지, 2) 각 시간대별로 입양이 3) 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.
문제 풀이
- 24시간으로 계산하며, 해당 시간 내 리스트를 조회하기 위하여 WHERE 조건을 건다.
- 각 시간대별로 조회하기 위하여 GROUP BY로 묶는다.
- 위의 조건에 해당하는 총 건수를 구하기 위하여 count 함수로 조회한다.
전체 코드
SELECT TO_NUMBER(TO_CHAR(DATETIME,'hh24')) AS HOUR, count(*) AS COUNT
FROM ANIMAL_OUTS
WHERE TO_CHAR(DATETIME, 'hh24') BETWEEN 9 AND 19
GROUP BY TO_CHAR(DATETIME, 'hh24')
ORDER BY 1