如何删除重复的连续行 SQL

how to delete repeated successive rows SQL

我的历史记录 table 有很多行 T1,我需要 3 行的信息,所以我有新的 table T2,我想将此信息从 T1 复制到 T2。 但是我有重复的数据,那么如何复制呢? 我需要一些重复的行,有些不需要。只有在 D 列上我有与行相同的数据之前,我不需要该行的信息 例子: 我有 table 看起来像这样 - T1:

Id B D

1 8 10

2 8 3

3 8 3

4 8 10

我只需要这一行 - T2:

Id B D

1 8 10

2 8 3

4 8 10

只与上一行数据进行比较,如果匹配则不包含在where条件中

;WITH data AS
(
    SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS Sequence FROM [Table]
)
SELECT Id, B, D 
FROM data d 
WHERE 
    NOT EXISTS
    (
        SELECT * 
        FROM data 
        WHERE Sequence + 1 = d.Sequence 
            AND B = d.B 
            AND D = d.D
    )
insert into t2
select Id ,B ,D
(select * from t2
except
select d* from t1) t3