首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-02-01 
请问如何删除这样的重复记录表g产品编号注册号日期0001060503200803020035030210200602030001090203200906

请问如何删除这样的重复记录
表     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 行)
*/

热点排行