从带日期的 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中文网其他相关文章!