所以我有這樣的一個表,但也有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