Mysql
 sql >> Database >  >> RDS >> Mysql

Conta le righe nel database mysql in cui timestamp all'interno dell'intervallo X

Invece di selezionare le righe in cui start_stamp è uguale a now() - 1day , hai bisogno di righe in cui è maggiore o uguale a quella gamma. Inoltre, la tua sintassi è un po' storta. L'aritmetica della data di MySQL utilizza column_value - INTERVAL <number> <period> , quindi hai bisogno di:

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

Allo stesso modo per ottenere n ore fa, usa INTERVAL n HOUR

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

La sintassi per l'aritmetica dell'intervallo di date è descritta in un piccolo paragrafo sotto DATE_ADD() riferimento alla funzione nella documentazione ufficiale di MySQL.