如何在SQL SERVER中删除重复的行并保留具有特定值的单行

我有一张这样的桌子

DoctorName | IsOperDoc
  Albert   |     1
  Albert   |     1
  Albert   |     0
   Bill    |     0
   Bill    |     0
  Charlie  |     0
   Dave    |     1

我想删除重复的行并保留IsOperDoc = 1的行(如果Doc不是OperDoc,也要保留IsOperDoc = 0的单行)

我期望

DoctorName | IsOperDoc
  Albert   |     1
   Bill    |     0
  Charlie  |     0
   Dave    |     1
liangjingyi7125 回答:如何在SQL SERVER中删除重复的行并保留具有特定值的单行

尝试一下:

WITH cte AS (
    SELECT  
        DoctorName,IsOperDoc,ROW_NUMBER() OVER (
            PARTITION BY 
                DoctorName,IsOperDoc
            ORDER BY 
                DoctorName,IsOperDoc
        ) row_num
     FROM 
        yourTable
)
DELETE FROM cte
WHERE row_num > 1;
,

尝试一下:

Print N'#{Octopus.Deployment.Id}'
本文链接:https://www.f2er.com/3160999.html

大家都在问