📄 subject_58765.htm
字号:
<p>
序号:58765 发表者:tchq 发表日期:2003-11-03 16:22:17
<br>主题:请教,如何删除重复纪录
<br>内容: 在数据库入库时输入很多的重复纪录,请教如何使用sql语句删除<BR>这些纪录。在入库时怎样避免输入重复纪录。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:david (小鱼儿) 回复日期:2003-11-03 16:49:17
<br>内容:看看having子句的帮助
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:redleaf 回复日期:2003-11-03 16:58:37
<br>内容:在表中设一个唯一键
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tchq 回复日期:2003-11-03 17:43:26
<br>内容:表中有image数据类型的字段,不好处理。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:小乔 回复日期:2003-11-03 17:47:34
<br>内容:delect table where id not in (<BR><BR> select max(id) from table group by col1,col2,col3...<BR>)<BR>group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。<BR><BR><BR><BR>2,如果是判断所有字段也可以这样<BR> select * into #aa from table group by id1,id2,....<BR> delete table <BR> insert into table <BR> select * from #aa<BR><BR><BR><BR>3,没有ID的情况<BR><BR>select identity(int,1,1) as id,* into #temp from tabel<BR>delect # where id not in (<BR> select max(id) from # group by col1,col2,col3...)<BR>delect table<BR>inset into table(...)<BR> select ..... from #temp<BR><BR><BR>col1+','+col2+','...col5 联合主键<BR><BR><BR>select * from table where col1+','+col2+','...col5 in (<BR><BR> select max(col1+','+col2+','...col5) from table <BR>where having count(*)>1<BR>group by col1,col2,col3,col4 <BR>)<BR>group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。<BR><BR>2,<BR>select identity(int,1,1) as id,* into #temp from tabel<BR>select * from #temp where id in (<BR> select max(id) from #emp where having count(*)>1 group by col1,col2,col3...)<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小乔 回复日期:2003-11-03 17:52:49
<br>内容:如果可以说一声谢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tchq 回复日期:2003-11-04 15:11:29
<br>内容:本人正在用楼上的语句试验,在此先谢过,完成后再告诉结果。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:david (小鱼儿) 回复日期:2003-11-05 09:18:23
<br>内容:delect table where id not in (<BR><BR> select max(id) from table group by col1,col2,col3...<BR>)<BR>group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。<BR><BR><BR><BR>这句明显有错。如果不用having count(ID)> 1 作为判断条件,这个语句一定会删除不重复的记录。。。居然还被接受正确答案?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tchq 回复日期:2003-11-05 09:41:03
<br>内容:楼上的你说的很正确,小乔在最后已有正确的答案。谢谢!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:david (小鱼儿) 回复日期:2003-11-05 10:32:39
<br>内容:呵呵。。。。看到第一句错了,所以就没接着看下去咯
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -