You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL中如何按日期筛选重复数据里最早的记录

筛选重复数据中的最早条目(黄色标记项)

我来给你分享两个实用的办法,轻松搞定筛选重复数据里最早的那条(就是你标黄色的这类条目),不管是用基础的表格功能还是更高效的工具都能实现:

方法一:用辅助列快速定位最早条目

这个方法适合新手,操作简单直观:

  • 先确定你判断重复的依据列(比如图里的订单号类列),以及记录时间的列(用来判定“最早”的时间列)。
  • 插入一个辅助列(比如在数据最右侧新增一列),在第一行的辅助列单元格里输入公式:
    =COUNTIF(A$1:A1,A1)
    (这里的A列替换成你的重复依据列,比如如果是B列就改成B$1:B1)
  • 把公式下拉填充到所有行,第一次出现的重复值对应的辅助列会显示1,这就是你要找的最早那条数据。
  • 最后筛选辅助列等于1的行,就是你需要的黄色标记条目,选中后还可以直接填充黄色完成标记。

如果你的重复判断是多列组合(比如需要同时看订单号+客户名才判定重复),就把公式改成多条件计数:
=COUNTIFS(A$1:A1,A1,B$1:B1,B1)
(A、B列替换成你的组合判断列即可)

方法二:用Power Query批量提取最早条目

如果数据量比较大,用Power Query更高效,还能直接生成干净的结果表:

  • 选中你的整个数据区域,点击表格工具顶部「数据」选项卡的「从表格/区域」(2016及以后版本自带该功能,旧版本可以安装「Power Query」插件),把数据导入编辑器。
  • 在编辑器里,选中用来判断重复的列(比如订单号列),点击「开始」选项卡的「分组依据」。
  • 在分组设置窗口里:
    • 分组依据:选你判断重复的列(多列重复就选多个列)
    • 新列名:随便起一个,比如「最早记录」
    • 操作:选择「所有行」,然后点击确定。
  • 点击新列「最早记录」旁边的展开箭头,选择「高级」,在弹出的窗口里:
    • 把时间列的操作改成「最小值」(这样就能提取该组最早的时间)
    • 其他需要保留的列,根据需求选「任意值」或者对应逻辑,然后确定。
  • 最后点击「关闭并上载」,结果会自动导出到新的工作表,这里面就是每个重复组里的最早条目了。

内容的提问来源于stack exchange,提问作者Ikzer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 17:25:26