首页 > 数据库 > mysql教程 > 如何选择每个 ID 和时间戳具有最小值的不同行?

如何选择每个 ID 和时间戳具有最小值的不同行?

Mary-Kate Olsen
发布: 2025-01-17 20:17:10
原创
413 人浏览过

How to Select Distinct Rows with the Minimum Value for Each ID and Timestamp?

按最小值分组并选择唯一行

当处理每个标识符和时间戳值都包含多行的数据时,就需要按最小值对数据进行分组,同时选择唯一行。这确保每个标识符仅以其最早出现的时间表示一次。

在提供的示例表中,目标是为每个id提取具有最小record_date的行。但是,表中包含重复的日期,这使得使用传统方法难以实现此目标。

可以使用相关子查询和内部联接来解决此问题:

<code class="language-sql">SELECT mt.*     
FROM MyTable mt INNER JOIN
    (
        SELECT id, MIN(record_date) AS MinDate
        FROM MyTable
        GROUP BY id
    ) t ON mt.id = t.id AND mt.record_date = t.MinDate</code>
登录后复制

此方法包括:

  1. 创建一个子查询以识别每个id的最小record_date
  2. 使用idrecord_date字段将主表(MyTable)与子查询连接。

结果表仅包含每个id的最小record_date的行。此方法可防止重复行出现在输出中。

以上是如何选择每个 ID 和时间戳具有最小值的不同行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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