sql >> Database >  >> RDS >> Mysql

Hoe de meest recente set gedateerde records uit een mysql-tabel te selecteren?

Gebruik deze oplossing voorzichtig:
het is niet gegarandeerd dat het werkt in toekomstige versies van mysql
het is niet bekend dat het werkt in mariadb 5.5

Deze query kan goed werken, omdat er geen joins zijn.

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

De "groeperen op" vouwt de resultaatset op methode samen en retourneert slechts 1 rij per methode, de meest recente, vanwege het ORDER BY-tijdstempel DESC in de binnenste query.

Ter info, PostgreSQL heeft een manier om dit in de taal te doen:

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


  1. Hoe rechtvaardigt_hours() werkt in PostgreSQL

  2. Draaien in Oracle 11g

  3. Beveilig uw Mongo-clusters met SSL

  4. SQL Server PIVOT misschien?