從有日期的 MySQL 表中擷取最新記錄
為某個方法和 id 的所有現有組合選擇最新回應MySQL表的結構:
Table: rpc_responses timestamp (date) method (varchar) id (varchar) response (mediumtext) PRIMARY KEY(timestamp,method,id)
考慮以下內容步驟:
建立子查詢以選擇分組:
SELECT *, if(@last_method=method,0,1) as new_method_group, @last_method:=method AS t1 FROM rpc_responses ORDER BY method,timestamp DESC
篩選每組中的第一行:
WHERE new_method_group=1
此條件確保只有方法和時間戳的每個組合的最新行才是
選擇所需的欄位:
SELECT timestamp, method, id, response FROM t1
此查詢將傳回所需的結果集,其中包括所有現有方法和ID 組合的最新回應。它很高效,因為它避免使用連接並利用 MySQL 變數來追蹤不同方法組之間的轉換。
以上是如何有效率地從帶有日期的 MySQL 表中檢索最新記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!