このソリューションは注意して使用してください:
mysqlの将来のバージョンで動作することは保証されていません
mariadb5.5で動作することは知られていません
結合がないため、このクエリはうまく機能する可能性があります。
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
「groupby」は、メソッドの結果セットを折りたたんで、メソッドごとに1行のみを返します。これは、内部クエリのORDERBYタイムスタンプDESCのためです。
参考までに、PostgreSQLにはこれを言語に組み込んだ方法があります:
SELECT DISTINCT ON (method) timestamp, method, id, response
FROM rpc_responses
WHERE 1 # some where clause here
ORDER BY method, timestamp DESC