Estoy tratando de enumerar el número de registros por hora insertados en una base de datos durante las últimas 24 horas. Cada fila muestra los registros insertados esa hora, así como también cuántas horas atrás.MySQL: registros insertados por hora, durante las últimas 24 horas
Aquí está mi consulta ahora:
SELECT COUNT(*), FLOOR(TIME_TO_SEC(TIMEDIFF(NOW(), time))/3600)
FROM `records`
WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY HOUR(time)
ORDER BY time ASC
ahora vuelve:
28 23
62 23
14 20
1 4
28 3
19 1
que muestra dos filas de 23 horas, cuando sólo debe mostrar una por hora. Creo que tiene algo que ver con el uso de NOW() en lugar de tener el tiempo al inicio de la hora, que no estoy seguro de cómo conseguirlo.
Debe haber una manera más simple de hacer esto.