读书人

请教怎么删除这样的重复记录

发布时间: 2012-02-01 16:58:19 作者: rapoo

请问如何删除这样的重复记录
表 g

产品编号 注册号 日期
0001 060503 20080302
0035 030210 20060203
0001 090203 20090603
0001 020210 20030201
0035 065201 20050201
如何使产品编号每个产品只把留任意一行
产品编号 注册号 日期
0001 060503 20080302
0035 030210 20060203

[解决办法]
create table G(产品编号 varchar(10),注册号 varchar(10),日期 varchar(8))
insert into G values( '0001 ', '060503 ', '20080302 ')
insert into G values( '0035 ', '030210 ', '20060203 ')
insert into G values( '0001 ', '090203 ', '20090603 ')
insert into G values( '0001 ', '020210 ', '20030201 ')
insert into G values( '0035 ', '065201 ', '20050201 ')
go
delete from G where 日期 not in (select min(日期) from G group by 产品编号)
select * from G
drop table G

/*
产品编号 注册号 日期
---------- ---------- --------
0001 020210 20030201
0035 065201 20050201

(所影响的行数为 2 行)
*/

读书人网 >SQL Server

热点推荐