首页 > 数据库 > mysql教程 > 如何在SQL中选择具有特定字段最小值的不同行?

如何在SQL中选择具有特定字段最小值的不同行?

Barbara Streisand
发布: 2025-01-17 20:15:10
原创
620 人浏览过

How to Select Distinct Rows with the Minimum Value for a Specific Field in SQL?

选择具有最早记录日期的唯一行

假设您有一个表,每个唯一标识符包含多个条目,并且您只需检索代表每个标识符最早记录日期的唯一行。 这在处理重复的记录日期时特别有用。

这是一个可以有效解决这个问题的 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>
登录后复制

此查询分两步进行:

  1. 查找最短日期: 内部查询 (SELECT id, MIN(record_date) AS MinDate FROM MyTable GROUP BY id) 标识每个唯一 record_date 的最小 id

  2. 选择匹配行: 外部查询将内部查询的结果与原始表 (MyTable) 连接起来。 它仅选择 MyTable 中的行,其中 idrecord_date 都与内部查询中找到的最小日期匹配。

最终结果仅包含每个唯一标识符最早record_date的行,消除了具有不同记录日期的重复行。

以上是如何在SQL中选择具有特定字段最小值的不同行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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