Puedes group by
la fecha parte de datetime y obtenga el máximo para cada día.
select max(`datetime`)
from tablename
where `datetime` >= date(now())-interval '30' day
group by date(`datetime`)
Para obtener todos los campos de la tabla para dichas filas, use
select * from tablename where `datetime` in (
select max(`datetime`)
from tablename
where `datetime` >= date(now())-interval '30' day
group by date(`datetime`)
)