Подтвердить что ты не робот

Получение строк, сгруппированных по часам с помощью MySQL

У меня есть таблица, содержащая журналы доступа. Я хочу знать, сколько обращений к resource_id '123' происходило в каждый час в течение 24 часов.

Моя первая мысль для получения этой информации - это просто цикл через каждый час и запрос таблицы в каждом цикле с чем-то вроде... and time like '$hour:%', учитывая, что поле time содержит данные в формате 15:47:55.

Есть ли способ, чтобы я мог group by считать часы и получать каждый час и количество строк в течение каждого часа в одном запросе?

База данных - это MySQL, язык - это PHP.

4b9b3361

Ответ 1

SELECT HOUR(MyDatetimeColumn) AS h, COUNT(*)
FROM MyTable
GROUP BY h;

Ответ 2

Вы можете использовать функцию HOUR, чтобы получить час вне времени. Тогда вы должны иметь возможность группировать это.