如何刪除這樣的記錄?
我目前有這樣的資料庫,如下:(裡面資料表如下:)
A001 廣東 WWW
A002 廣東 SSS
A003 陝西 111
A005 北京 ooo
A006 陝西 qqq
.............
我現在的要求如下:(我要把中間的重復記錄刪除掉,不過不能全部刪除,至少要保留一條,隨便那條記錄都可以!)
A001 廣東 WWW
A005 北京 ooo
A006 陝西 qqq
------解决方案--------------------DECLARE @t TABLE(col1 VARCHAR(10), col2 VARCHAR(20),col3 VARCHAR(10))
INSERT INTO @t SELECT 'A001 ', '廣東 ', 'WWW '
UNION ALL SELECT 'A002 ', '廣東 ', 'SSS '
UNION ALL SELECT 'A003 ', '陝西 ', '111 '
UNION ALL SELECT 'A005 ', '北京 ', 'ooo '
UNION ALL SELECT 'A006 ', '陝西 ', 'qqq '
DELETE FROM @t WHERE col1 NOT IN (SELECT MAX(col1) FROM @t GROUP BY col2)
SELECT * FROM @t
------解决方案--------------------declare @software51 table(id varchar(10),name varchar(10),x varchar(10))
insert @software51
select 'A001 ', '廣東 ', 'WWW ' union all
select 'A002 ', '廣東 ', 'SSS ' union all
select 'A003 ', '陝西 ', '111 ' union all
select 'A005 ', '北京 ', 'ooo ' union all
select 'A006 ', '陝西 ', 'qqq '
delete @software51 where id not in
(select max(id) from @software51 group by name)
select * from @software51
/*结果
id name x
---------- ---------- ----------
A002 廣東 SSS
A005 北京 ooo
A006 陝西 qqq
*/