您的位置:首页 > 其它

删除数据表中的重复记录

2008-04-26 18:31 381 查看
删除交通违章数据表中的重复记录(同一时间[haptime]、车号牌[numberplate]、处罚原因[reason])
一、方法原理:
  1、中,每一条记录都有一个rowid,rowid在整个中是唯一的, rowid确定了每条记录是在ORACLE中的哪一个数据文件、块、行上。
 2、在重复的记录中,可能所有列的内容都相同,但rowid不会相同,所以只要确定出重复记录中那些具有最大rowid的就可以了,其余全部删除。

二、实现方法:
1、查询重复记录
selectrowid,haptime,numberplate,reasonfrompeccancy
--deletefrompeccancy6peccancy6
wherepeccancy.rowid!=
(
selectmax(rowid)frompeccancyb
wherepeccancy.haptime=b.haptimeand
peccancy.numberplate=b.numberplateand
peccancy.reason=b.reason
)

2、删除重复记录
deletefrompeccancypeccancy
wherepeccancy.rowid!=
(
selectmax(rowid)frompeccancyb
wherepeccancy.haptime=b.haptimeand
peccancy.numberplate=b.numberplateand
peccancy.reason=b.reason
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: