Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изберете редове с най-новия час за всяка дата в рамките на последните 30 дни от сега

Можете да group by частта от датата на datetime и вземете максимума за всеки ден.

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

За да получите всички полета от таблицата за такива редове, използвайте

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL вмъква нов ред само ако комбинацията от колони (които позволяват дубликати) е уникална

  2. MySQL Проблем за съвпадение на множество интереси

  3. Прочетете огромни текстови файлове и съхранявайте всеки ред в базата данни

  4. Как да разменя стойностите на два реда в MySQL, без да нарушавате уникалното ограничение?

  5. ЗАРЕЖДАНЕ НА ДАННИ INFILE грешка 1064