首页 > 数据库 > mysql教程 > 如何为表中的每个唯一 ID 选择具有最小 Record_Date 的行?

如何为表中的每个唯一 ID 选择具有最小 Record_Date 的行?

Barbara Streisand
发布: 2025-01-17 20:20:13
原创
472 人浏览过

How to Select Rows with the Minimum Record_Date for Each Unique ID in a Table?

检索每个唯一 ID 的最早记录日期的行

处理包含重复 id 值的表,并且需要为每个唯一的 record_date 仅选择具有最早 id 的行可能会很棘手。 当 record_date 值不唯一时,标准方法通常会遇到困难。该解决方案可以有效处理此类场景:

以下 SQL 查询有效地选择所需的行:

<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>
登录后复制

此查询使用子查询首先确定每个 record_date 的最小值 id。子查询按 id 对行进行分组,然后使用 MIN() 函数查找每个组内的最小值 record_date

然后,外部查询使用 MyTableid 将子查询的结果连接回原始表 (record_date)。这可确保只有与每个 record_date 的最小 id 匹配的行才会包含在最终结果集中。 这有效地删除了重复项,并仅返回每个唯一 record_date.id 最早的

的行。

以上是如何为表中的每个唯一 ID 选择具有最小 Record_Date 的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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