sql >> Databasteknik >  >> RDS >> Mysql

Räkna rader i mysql-databasen där tidsstämpel inom X-intervall

Istället för att välja rader där start_stamp är lika till now() - 1day , behöver du rader där den är större än eller lika med det intervallet. Dessutom är din syntax lite dålig. MySQL:s datumaritmetik använder column_value - INTERVAL <number> <period> , så du behöver:

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

Likaså för att få n timmar sedan, använd INTERVAL n HOUR

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

Syntaxen för aritmetik för datumintervall beskrivs i ett litet stycke under DATE_ADD() funktionsreferens i den officiella MySQL-dokumentationen.



  1. sqlite get-fält med mer än 2 MB

  2. cx oracle ImportError

  3. Hur man använder inbyggt lösenord med MySQL 5.7

  4. Hur skulle jag använda ON DUPLICATE KEY UPDATE i min CodeIgniter-modell?