Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wybrać najnowszy zestaw datowanych rekordów z tabeli mysql?

Używaj tego rozwiązania ostrożnie:
nie ma gwarancji, że będzie działać w przyszłych wersjach mysql
nie będzie działać w mariadb 5.5

To zapytanie może działać dobrze, ponieważ nie ma złączeń.

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

"Grupuj według" zwija zestaw wyników dla metody i zwraca tylko 1 wiersz na metodę, najnowszy, ze względu na znacznik czasu ORDER BY DESC w wewnętrznym zapytaniu.

FYI, PostgreSQL ma na to sposób wbudowany w język:

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. Jak utworzyć tabelę w SQL – przykładowe zapytanie Postgres i MySQL

  2. Przegląd operatora Kubernetes klastra Percona XtraDB

  3. MySQL:zaznaczanie wierszy, w których kolumna jest pusta

  4. Naucz się podstawowych zapytań SQL przy użyciu MySQL

  5. Wiele instrukcji INSERT mysql w jednym zapytaniu php