1. 문제
https://programmers.co.kr/learn/courses/30/lessons/59412
2. 풀이
- 시간대 구하기 :
- MYSQL : DATE_FORMAT
- ORACLE : TO_CHAR
- 시간대별로 건수 구하기 : GROUP BY, COUNT
- 시간대 순으로 정렬 : ORDER BY
3. 답안
--MYSQL
SELECT DATE_FORMAT(DATETIME, '%H') AS HOUR, COUNT(1) AS COUNT
FROM ANIMAL_OUTS
WHERE DATE_FORMAT(DATETIME, '%H') BETWEEN '09' AND '19'
GROUP BY DATE_FORMAT(DATETIME, '%H')
ORDER BY HOUR
;
--ORACLE
SELECT TO_CHAR(DATETIME, 'HH24') AS HOUR, COUNT(1) AS COUNT
FROM ANIMAL_OUTS
WHERE TO_CHAR(DATETIME, 'HH24') BETWEEN '09' AND '19'
GROUP BY TO_CHAR(DATETIME, 'HH24')
ORDER BY HOUR
;
반응형