数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
删除数据表中的重复记录

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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

二、实现方法:
1、查询重复记录
select rowid,haptime,numberplate,reason from peccancy
--delete from peccancy6 peccancy6
where peccancy.rowid !=
(
 select max(rowid) from peccancy b
       where peccancy.haptime = b.haptime and
             peccancy.numberplate = b.numberplate and
             peccancy.reason = b.reason
)


2、删除重复记录
delete from peccancy peccancy
where peccancy.rowid !=
(
 select max(rowid) from peccancy b
       where peccancy.haptime = b.haptime and
             peccancy.numberplate = b.numberplate and
             peccancy.reason = b.reason
)



相关文章

相关软件