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