Sql server 从计数查询中删除查询
我正在尝试清理一个具有重复的Sql server 从计数查询中删除查询,sql-server,Sql Server,我正在尝试清理一个具有重复的claim\u ids的SQL表。如何通过此查询按CollectLogDate删除重复的索赔ID 选择ID、索赔ID、InsertDate、CollectLogDate、Count(CollectLogDate)作为CollectLogDate 来自[dbo]。[temp] 按ID分组,索赔ID,插入日期,收集日期 下面的查询将在传递的日期范围内找到重复的索赔id,并将其从临时表中删除 delete from [dbo].[temp] where claim_id i
claim\u id
s的SQL表。如何通过此查询按CollectLogDate删除重复的索赔ID
选择ID、索赔ID、InsertDate、CollectLogDate、Count(CollectLogDate)作为CollectLogDate
来自[dbo]。[temp]
按ID分组,索赔ID,插入日期,收集日期
下面的查询将在传递的日期范围内找到重复的索赔id,并将其从临时表中删除
delete
from [dbo].[temp]
where claim_id in (
select claim_id
from [dbo].[temp]
where CollectLogDate between 'start_dt' and 'end_dt'
group by claim_id
having count(1) > 1
)
如果您的要求与此不同,请在问题中添加一些示例输入和输出数据。这是否回答了您的问题?您可以添加一些示例数据吗?如果使用SELECT DISTINCT会发生什么情况?因此,如果有多行的claim_id=10(例如),您建议删除所有这些行,而不是只保留一行?为什么
'start\u dt'
和'end\u dt'
是您的解决方案的一部分?是的,上述解决方案会删除所有重复项?是否保留一个并删除其余的?如果是,那么你可以试试这个。从(按claim分区,按collectlogdate desc排序,按collectlogdate desc排序)上选择行编号()作为行编号,*从[dbo].[temp])T中删除,其中T.rownNumber>1