Bạn có thể group by
phần ngày của datetime và nhận giá trị tối đa cho mỗi ngày.
select max(`datetime`)
from tablename
where `datetime` >= date(now())-interval '30' day
group by date(`datetime`)
Để lấy tất cả các trường từ bảng cho các hàng như vậy, hãy sử dụng
select * from tablename where `datetime` in (
select max(`datetime`)
from tablename
where `datetime` >= date(now())-interval '30' day
group by date(`datetime`)
)