10mb:sql server数据库表中如何根据某个字段删除重复数据?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/10 11:11:35
老板给我一张5000多记录的excel表,其中一个关键字段下很多数据是重复的,如果两条记录的这个字段相同就可以删除一条记录。现在我已将表导到sql server中,不知道怎么实现这个功能??
二楼的不知道你理解错了还是我表述不清,你那样做是删除重复记录,我意思是比方记录 a b c ,e f c 第三列都是c,那我只保留一行可以了

我用游标实现了你的功能。

你首先建立一张空表,和你的操作表一样的结构,但是要求是空表,没有任何内容,比如是tempReg2

你把下面的代码拷贝到SQL查询分析器,稍作修改就行。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
DECLARE Cursor_Title CURSOR FOR SELECT distinct title FROM RegMember

OPEN Cursor_Title

declare @str varchar(50)
FETCH NEXT FROM Cursor_Title Into @str

WHILE @@FETCH_STATUS = 0
BEGIN
insert into tempReg2 select top 1 * from RegMember where title=@str
FETCH NEXT FROM Cursor_Title Into @str
END

CLOSE Cursor_Title
DEALLOCATE Cursor_Title
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

我用的表名是RegMember,重复的列名是title,所以这两个名称需要你替换一下。别的可以不变。

先建立一个新的空表newtable
再执行
insert into newtable(字段名1,字段名2,字段名3...)
select distinct * from oldtable

有没有主键阿 如果有的话就好办多了 写一句sql就可以搞定了

用distinct关键字,楼上的楼上的是对的。