首页 > 数据库 > mysql教程 > 如何根据多个日期高效选择MySQL中最新的记录?

如何根据多个日期高效选择MySQL中最新的记录?

Patricia Arquette
发布: 2024-12-31 11:01:14
原创
426 人浏览过

How to Efficiently Select the Most Recent Records in MySQL Based on Multiple Dates?

根据多个日期从 MySQL 表中选择最新记录

在存储带有时间戳、方法、ID 的数据的 MySQL 表中,和响应,目标是检索方法和 ID 的每个组合的最新记录。

要实现这一点,您可以利用以下优化查询:

SELECT *
FROM (
    SELECT *,
    if(@last_method = method, 0, 1) AS new_method_group,
    @last_method := method
    FROM rpc_responses
    ORDER BY method, timestamp DESC
) AS t1
WHERE new_method_group = 1;
登录后复制

此查询利用 MySQL 变量来避免连接的需要。它应用以下步骤:

  1. 对于 rpc_responses 表中的每一行,它为方法分配一个新组以标识不同的方法组。
  2. 具有相同方法的行属于同一组。
  3. 每个方法组中最新的时间戳行是通过按方法和时间戳降序排序来选择的顺序。
  4. 查询过滤结果,仅包含每个方法组中最新的行。

此方法有效地检索每个唯一方法组合的最新响应和 ID,无需连接,从而实现最佳性能。

以上是如何根据多个日期高效选择MySQL中最新的记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板