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

Как да изберете най-новия набор от датирани записи от таблица на mysql

Използвайте това решение с повишено внимание:
не е гарантирано, че ще работи в бъдещи версии на mysql
не е известно, че работи в mariadb 5.5

Тази заявка може да работи добре, защото няма обединения.

SELECT * FROM (
    SELECT timestamp, method, id, response
    FROM rpc_responses
    WHERE 1 # some where clause here
    ORDER BY timestamp DESC
) as t1
GROUP BY method

„Групиране по“ свива набора от резултати в метода и връща само 1 ред на метод, най-скорошния, поради времевия печат ORDER BY DESC във вътрешната заявка.

FYI, PostgreSQL има начин да направи това, вграден в езика:

SELECT DISTINCT ON (method) timestamp, method, id, response
FROM rpc_responses
WHERE 1 # some where clause here
ORDER BY method, timestamp DESC


  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 INT

  2. Използване на функциите password_hash и password_verify на PHP 5.5

  3. Инсталиране и работа с MySQL 5 на Windows 7

  4. Моите MySQL сървърни връзки криптирани и безопасни ли са?

  5. MySQL InnoDB Cluster 8.0 - Пълна разходка за внедряване:Част първа