sql >> Base de Datos >  >> RDS >> Mysql

Cuente filas en la base de datos mysql donde la marca de tiempo dentro del intervalo X

En lugar de seleccionar filas donde start_stamp es igual a now() - 1day , necesita filas donde sea mayor o igual que ese rango Además, su sintaxis está un poco fuera de lugar. La aritmética de fechas de MySQL usa column_value - INTERVAL <number> <period> , entonces necesitas:

SELECT COUNT(*) AS num_new_rows
FROM mytable
WHERE start_stamp >= NOW() - INTERVAL 1 DAY

Del mismo modo para obtener n hace horas, use INTERVAL n HOUR

# Within 3 hours...
WHERE start_stamp >= NOW() - INTERVAL 3 HOUR

La sintaxis para la aritmética de intervalos de fechas se describe en un pequeño párrafo debajo de DATE_ADD() referencia de función en la documentación oficial de MySQL.