Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como selecionar linhas com a última hora para cada data nos últimos 30 dias a partir de agora


Você pode group by a parte date de datetime e obtenha o máximo para cada dia.
select max(`datetime`) 
from tablename
where `datetime` >= date(now())-interval '30' day
group by date(`datetime`)

Para obter todos os campos da tabela para essas linhas, use
select * from tablename where `datetime` in (
select max(`datetime`) 
from tablename
where `datetime` >= date(now())-interval '30' day
group by date(`datetime`)
)