sql >> Database teknologi >  >> RDS >> Mysql

Sådan vælger du det seneste sæt af daterede poster fra en mysql-tabel

Brug denne løsning med forsigtighed:
det er ikke garanteret at virke i fremtidige versioner af mysql
det er ikke kendt for at virke i mariadb 5.5

Denne forespørgsel kan muligvis fungere godt, fordi der ikke er nogen joinforbindelser.

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

"Grupper efter", skjuler resultatet sat på metode og returnerer kun 1 række pr. metode, den seneste, på grund af ORDER BY-tidsstemplet DESC i den indre forespørgsel.

FYI, PostgreSQL har en måde at gøre dette på indbygget i sproget:

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


  1. Hvordan overfører man XML fra C# til en lagret procedure i SQL Server 2008?

  2. Android Studio 3.0 canary 1:SQL-syntaksfejl

  3. Hvordan får man alle kolonnenavne til alle tabellerne i MySQL?

  4. SQLite-hukommelsesproblem med singleton-tilgang