Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So wählen Sie Zeilen mit der spätesten Zeit für jedes Datum innerhalb der letzten 30 Tage ab jetzt aus

Sie können group by den Datumsteil von datetime und erhalte das Maximum für jeden Tag.

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

Um alle Felder aus der Tabelle für solche Zeilen abzurufen, verwenden Sie

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