如何从唯一代码列中查找重复项并删除它们所附加的行,同时仍保留原始行?
How to find duplicates from Unique code column and delete the rows they're attached too, while still keeping the original row?
我的 azure sql 服务器中有一个 table 名为 dbo.SQL_Transactional,并且有一些列 headers 作为代码、saledate、branchcode
code 是我的主键,所以如果有 2 行或更多行具有相同的代码,它们就是重复的,需要删除。我该怎么做?
我不需要担心 saledate 或 branchcode 是否重复,因为如果代码重复,那么我只需要能够删除整个重复行即可。
如果您只想删除重复的行,请尝试可更新的 CTE:
with todelete as (
select t.*, row_number() over (partition by code order by code) as seqnum
from t
)
delete from todelete
where seqnum > 1;
如果您只想 select 一行,那么您可以使用 where seqnum = 1
.
我的 azure sql 服务器中有一个 table 名为 dbo.SQL_Transactional,并且有一些列 headers 作为代码、saledate、branchcode
code 是我的主键,所以如果有 2 行或更多行具有相同的代码,它们就是重复的,需要删除。我该怎么做? 我不需要担心 saledate 或 branchcode 是否重复,因为如果代码重复,那么我只需要能够删除整个重复行即可。
如果您只想删除重复的行,请尝试可更新的 CTE:
with todelete as (
select t.*, row_number() over (partition by code order by code) as seqnum
from t
)
delete from todelete
where seqnum > 1;
如果您只想 select 一行,那么您可以使用 where seqnum = 1
.