Mysql
 sql >> Base de données >  >> RDS >> Mysql

Compter les lignes dans la base de données mysql où l'horodatage dans l'intervalle X

Plutôt que de sélectionner des lignes où start_stamp est égal à now() - 1day , vous avez besoin de lignes où il est supérieur ou égal à cette gamme. De plus, votre syntaxe est un peu décalée. L'arithmétique de date de MySQL utilise column_value - INTERVAL <number> <period> , vous avez donc besoin de :

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

De même pour obtenir n il y a quelques heures, utilisez INTERVAL n HOUR

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

La syntaxe de l'arithmétique des intervalles de dates est décrite dans un petit paragraphe sous le DATE_ADD() référence de la fonction dans la documentation officielle de MySQL.