所以我有这样的一个表,但也有3500左右的记录,即每周更新:SQL服务器合并重复
OID UNIQUEID RTYPE TIME OTHER
1 ABC_20170215 SENT 12:30 item1
2 ABC_20170215 RECEIVED 12:29
3 ABC_20170215 SENT 12:35 item4
那么什么,我试图做的是,如果UNIQUEID是一个副本,并舍入类型是不同的,我需要合并这一对的行。如果有3个类似上面,我需要合并对在时间上最接近,因此所得到的表看起来像下面
OID UNIQUEID RTYPE TIME OTHER
1 ABC_20170215 <whatever> <whatever> item1
3 ABC_20170215 <whatever> <whatever> item4
舍入类型和时间字段真的不太大的关系,因为这些领域可以被丢弃如果需要或者他们可以计算,并不重要。希望以前有人做过这种类型的事情,并有一些示例代码来实现这一点。
这是不一样的张贴之前!我不删除重复的,我基于对比较和时间差,把它们合并最接近0
所以我需要的是如果
UNIQUEID = UNIQUEID <- duplicates/matches
and
RTYPE != RTYPE <- different
如果有多于一点的可能性,然后减去两者之间的时间,所以我的示例表
Pair1.Time - Pair1.Time = 1 (12.30-12.29)
Pair2.Time - Pair2.Time = 6 (12.29-12.35)
,并取最接近0,合并是对的,但有可能是诚实的无限集合的对可能性
那么你的试用查询在哪里......? – Bhargav
如果你有2或4条记录怎么办?什么规则适用于这些情况? –
现在我没有任何东西,我知道,如果有更多的情况下,它可以变得复杂,我只是想要得到像上述场景一样简单的工作。 – KRL