首页 > 解决方案 > SQL删除重复维护最早/最晚日期

问题描述

我一直无法找到适合我情况的答案,尽管我确信它相当简单......

我有显示客户索赔的数据,每个索赔包含“从”和“到”日期列,每个索赔有多行(即,单个索赔中的多个时间段),以及多个客户

我想删除索赔的重复行,同时保留最早和最晚的可能日期

所以从

Customer        Claim_ID        Code    From_Date   To_Date     Charge
023718421001    300038310129    A360    06/05/2017  13/05/2017  47
023718421002    300039554280    A360    31/07/2017  15/08/2017  47
023718421002    300039554280    A361    02/09/2017  12/09/2017  160
023718421002    300039573833    A100    01/09/2017  02/09/2017  100

Customer        Claim_ID      From_Date   To_Date     
023718421001    300038310129  06/05/2017    13/05/2017  
023718421002    300039554280  31/07/2017    12/09/2017
023718421002    300039573833  01/09/2017    02/09/2017  

抱歉,如果这已被多次回答并且我的搜索已经结束,任何帮助都非常感谢。

非常感谢,

艾伦

标签: sqlsql-server

解决方案


按 Claim_ID 分组,From 列上的最小值,To 列上的最大值:

Select 
    max(customer) Customer,
    [Claim_ID],
    min([From_Date]) [From_Date],
    max([To_Date]) [To_Date]
from
    table
group by
    [Claim_Id]

推荐阅读