CREATE TABLE #data(ID INT IDENTITY(1,1),[value] nvarchar(50))
insert INTO #data([value])
select 'aaa' union all
select 'bbb' union all
select 'ccc' union all
select 'ccc' union all
select 'bbb' union all
select 'aaa' union all
select 'ddd' union all
select 'bbb' union all
select 'ddd' union all
select 'aaa'
--方法1
DELETE FROM #DATA WHERE #DATA.ID NOT IN(
SELECT MIN(ID) FROM #DATA GROUP BY [value])
SELECT * FROM #DATA
--方法2
DELETE FROM #DATA WHERE
(SELECT COUNT(1) FROM #DATA B WHERE B.VALUE=#DATA.VALUE AND B.ID<=#DATA.ID)>1
SELECT * FROM #DATA
DROP TABLE #DATA