利用rowid删除重复记录保留一行
2013-04-09 14:07
423 查看
CREATETABLEbeke01(NAMEVARCHAR2(30), ageNUMBER, addressVARCHAR2(50)); INSERTINTObeke01 VALUES ('beke', 25, 'shanghai');
Insert3次,这时表中有3条重复纪录;
SELECTROWID,a.*FROMbeke01aWHERE(a.NAME,a.age)IN(SELECTNAME,ageFROMbeke01GROUPBYNAME,ageHAVINGCOUNT(*)>1);查找重复的纪录
SELECTROWID,NAME,age,addressFROMbeke01WHEREROWIDIN(SELECTMAX(ROWID)FROMbeke01GROUPBYNAME,age,address);过滤重复纪录,只选出一条;
DELETEFROMbeke01WHEREROWIDNOTIN(SELECTMAX(ROWID)FROMbeke01GROUPBYNAME,age,address);删除重复纪录保留一条,保留一条记录;除了聚集函数中的字段,其余所有字段必须加在gourpby后面。
相关文章推荐
- [转]删除表中重复记录,只保留一行
- 在Oracle中利用Rowid查找和删除表中的重复记录
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- 在Oracle中如何利用Rowid查找和删除表中的重复记录(转)
- Oracle利用rowid删除表中重复记录
- Oracle利用rowid删除表中重复记录
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- 删除表中重复记录,只保留一行
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- 初探oracle删除重复记录,只保留rowid最小的记录
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- 删除oracle 表中重复数据sql语句、保留rowid最小的一条记录
- 在Oracle中如何利用Rowid查找和删除表中的重复记录
- oracle删除重复记录,只保留rowid最小的记录
- mysql删除重复记录,但是要保留其中一条
- Oracle用rowid删除同一张表的重复记录
- ORACLE 删除重复行,保留一条记录SQL
- sql 删除表中多余的重复记录(多个字段),只保留一条记录
- SQL对冗余数据的删除重复记录只保留单条的说明
- 如何删除表中的重复记录只保留其中一条