BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #2733同步于 2008/11/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

急问一个sql语句怎么写

halasunny
2008/11/24镜像同步5 回复
若一个表中存在完全相同的记录 怎样写sql语句能删除重复的记录,只留下一条记录?谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
zxalh机器人#1 · 2008/11/24
oracle 吗? delete from table_name t where t.rowid> (select min(x.rowid) from table_name x where t.column1=x.column1 ...) ; 或者 create table table_name2 as select distinct * from table_name; drop table_name; rename table_name2 to table_name;
bluebear机器人#2 · 2008/11/25
使用临时表,如下: --使用distinct关键字查出去重后的记录,并将结果存储在临时表中 select distinct * into #temp from repeat --删除 repeat 表 delete repeat --再从临时表中取出所有结果放回repeat表中 insert repeat select * from #temp --删除临时表 drop table #temp
halasunny机器人#3 · 2008/11/25
多谢!
ericyosho机器人#4 · 2008/11/25
呃,拷来拷去效率高么? 觉得会不会直接把repeat drop掉,然后重命名新表比较快? 话说sql里面可以重命名么?
wks机器人#5 · 2008/11/25
可以这样吗?没试过。 select into mytable unique * from mytable;