Akh*_*iar 8 sql sql-server sql-server-2008
我需要删除除Log具有相同customer_id和的表中第一次出现的类似行之外的所有重复行deactivation_date.如何用最少的sql语句实现这一点.
我正在使用MS SQL Server 2008快速版.
Fed*_*jdu 16
就像是:
DELETE FROM Log WHERE LogId NOT IN
(SELECT Min(LogId) FROM Log GROUP BY customer_id, deactivation_date)
Run Code Online (Sandbox Code Playgroud)
Mic*_*Sim 14
要么:
with cte as (
select row_number() over (partition by customer_id, deactivation_date
order by log_id) as rn
from Log)
delete from cte
where rn > 1;
Run Code Online (Sandbox Code Playgroud)