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

如何在SQL查询中基于最小日期和最大日期合并行

按Barcode合并数据并聚合日期的SQL解决方案

嘿,我看你想要把同一Barcode的多行记录合并成单行,取最早的On Date和最晚的Off Date,你的思路方向是对的,但当前的SQL语句缺少了关键的分组逻辑,导致无法正确聚合数据。

原数据示例

ClientNumber On Date    Off Date   Barcode
------------------------------------------------------------
1234         01/01/2018 01/30/2018 80000258
1234         01/30/2018 02/29/2018 80000258
1234         02/29/2018 03/06/2018 80000258

期望结果

ClientNumber On Date    Off Date   Barcode
-----------------------------------------------------------
1234         01/01/2018 03/06/2018 80000258

修正后的SQL语句

SELECT 
    ClientNumber, 
    MIN([On Date]) AS "Min Date", 
    MAX([Off Date]) AS "Max Date", 
    Barcode
FROM Orders
GROUP BY ClientNumber, Barcode

关键说明

  • 必须添加GROUP BY ClientNumber, Barcode:因为你需要按ClientNumber + Barcode的组合来分组(从示例看同一Barcode属于同一个客户,不过严谨起见最好同时分组这两个字段),数据库才能知道要把哪些行归为一组,然后对每组计算最小和最大日期。
  • MIN([On Date])会提取每组里最早的开始日期,MAX([Off Date])提取每组里最晚的结束日期,正好匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:50:44