Use esta solución con precaución:
no se garantiza que funcione en futuras versiones de mysql
no se sabe que funcione en mariadb 5.5
Esta consulta puede funcionar bien, porque no hay uniones.
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
El "agrupar por", colapsa el conjunto de resultados en el método y devuelve solo 1 fila por método, el más reciente, debido a la marca de tiempo ORDER BY DESC en la consulta interna.
FYI, PostgreSQL tiene una forma de hacer esto integrada en el lenguaje:
SELECT DISTINCT ON (method) timestamp, method, id, response
FROM rpc_responses
WHERE 1 # some where clause here
ORDER BY method, timestamp DESC