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

Come selezionare le righe con l'ultima ora per ciascuna data negli ultimi 30 giorni da adesso

Puoi group by la parte data di datetime e ottieni il massimo per ogni giorno.

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

Per ottenere tutti i campi dalla tabella per tali righe, utilizzare

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