Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sélectionner des lignes avec la dernière heure pour chaque date dans les 30 derniers jours à partir de maintenant

Vous pouvez group by la partie date de datetime et obtenez le maximum pour chaque jour.

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

Pour obtenir tous les champs de la table pour ces lignes, utilisez

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