我的azure server中有一个名为dbo.SQL_Transactional的表,其中列的头作为代码、saledate和分支代码。
代码是我的主键,因此,如果有2行或更多行具有相同的代码,则它们是重复的,需要删除。我怎样才能做到呢?我不需要担心saledate或分支代码是否是重复的,因为如果代码是重复的,那么我只需要删除整个重复行。
发布于 2019-03-27 00:09:40
如果您只想删除重复的行,那么尝试一个可更新的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;
如果您只想选择一行,那么您将使用where seqnum = 1
。
https://stackoverflow.com/questions/55367862
复制相似问题