提供された MySQL テーブル rpc_responses には応答が保存されますタイムスタンプ、メソッド、ID、および応答を含むフィールドを含む RPC 呼び出しに。目標は、メソッドと ID の異なる組み合わせに対する最新の応答を取得することです。
これを達成するには、MySQL の ROW_NUMBER() 関数をウィンドウ句で利用できます。
SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY method, id ORDER BY timestamp DESC) AS row_num FROM rpc_responses ) AS subquery WHERE row_num = 1
これクエリはサブクエリを使用して、メソッドと ID の個別の組み合わせごとに行番号をタイムスタンプ フィールドの降順で計算します。次に、外側のクエリは結果をフィルタリングして、各組み合わせの最新のレコードを表す行番号 1 の行のみを選択します。
このアプローチでは、複雑な結合や一時テーブルを必要とせずに、目的のデータを効率的に取得できます。 .
以上がMySQL で各メソッドと ID の組み合わせの最新のレコードを検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。