sql >> Databáze >  >> RDS >> Mysql

Jak vybrat nejnovější sadu datovaných záznamů z tabulky mysql

Toto řešení používejte opatrně:
není zaručeno, že bude fungovat v budoucích verzích mysql
není známo, že by fungoval v mariadb 5.5

Tento dotaz může fungovat dobře, protože neexistují žádná spojení.

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

"Seskupit podle" sbalí sadu výsledků na metodě a vrátí pouze 1 řádek na metodu, nejnovější, kvůli časovému razítku ORDER BY DESC ve vnitřním dotazu.

Pro informaci, PostgreSQL má způsob, jak to udělat, zabudovaný do jazyka:

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


  1. Jaký typ dat MySQL by měl být použit pro zeměpisnou šířku/délku s 8 desetinnými místy?

  2. Přidejte měsíce k datu v PostgreSQL

  3. Vložení aktuálního data a času do databáze SQLite

  4. Chyba SQL:ORA-01861:literál neodpovídá formátovacímu řetězci 01861