sql >> Databasteknik >  >> RDS >> Mysql

Så här väljer du rader med den senaste tiden för varje datum inom de senaste 30 dagarna från och med nu

Du kan group by datumdelen av datetime och få maxvärdet för varje dag.

select max(`datetime`) 
from tablename
where `datetime` >= date(now())-interval '30' day
group by date(`datetime`)

För att hämta alla fält från tabellen för sådana rader, använd

select * from tablename where `datetime` in (
select max(`datetime`) 
from tablename
where `datetime` >= date(now())-interval '30' day
group by date(`datetime`)
)


  1. Full förståelse för PDO ATTR_PERSISTENT

  2. En genväg för att uppdatera en tabellrad i databasen?

  3. Hur man skapar vy i oracle

  4. SELECT-satsen använder inte possible_keys