Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Contar linhas no banco de dados mysql onde o timestamp dentro do intervalo X


Em vez de selecionar linhas onde start_stamp é igual para now() - 1day , você precisa de linhas em que seja maior ou igual a esse intervalo. Além disso, sua sintaxe está um pouco errada. A aritmética de data do MySQL usa column_value - INTERVAL <number> <period> , então você precisa:
SELECT COUNT(*) AS num_new_rows
FROM mytable
WHERE start_stamp >= NOW() - INTERVAL 1 DAY

Da mesma forma para obter n horas atrás, use INTERVAL n HOUR
# Within 3 hours...
WHERE start_stamp >= NOW() - INTERVAL 3 HOUR

A sintaxe para aritmética de intervalo de data é descrita em um pequeno parágrafo abaixo do DATE_ADD() referência de função na documentação oficial do MySQL.