博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年12月6日

摘要: 问题:一个表有自增的ID列,表中有一些记录内容重复,也就是说这些记录除了ID不同之外,其他的信息都相同。需要把重复的记录保留一条,剩下的删除 方法一:还是2000年的时候一位Oracle DBA叫罗敏发给技术部全体的(可惜原始邮件找不到了,要不然我当文物发给大家): delete from temp where id not in ( select min(id) from temp group by column1,column2,...,columnn) 个人感觉这个方法思路比较清晰。不过效率相对来说不高。 方法二:赵贲在网络上搜出来的: --删除相同城市下的相同行政区 delete a from area a where a.id>(select min(id) from area b where a.area_id=b.area_id and a.city_id=b.city_id) 方法三:使用sql 2005新增的row_number()功能和with关键字,我是从赵立东那里学来的。 print('删除Price 阅读全文

posted @ 2009-12-06 22:41 左其盛经管新书点评 阅读(656) 评论(2) 推荐(0)