易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle数据库 - Oracle / 高级技术

在Oracle中怎么删除重复的行,但要保留一条记录。



delete table where rowid not in (select max(rowid) from table group by col1,col2,...,coln);

对,用rowid 来过滤.

delete tb a
where a.rowid > (select min(b.rowid)
from tb b
where b.xx = a.xx)

引用
在Oracle中怎么删除重复的行,但要保留一条记录。

靠,我面试时就考了这题,当时紧张没写出来,郁闷死了。2楼正解

delete 表名 where rowid not in (select max(rowid) from 表名 group by 列名);(注这里的列名就是你根据那个列判断重复的,可以为多列)

delete from table where rowid in (select a.rowid from table a, table b  
where a.rowid>b.rowid and a.col1=b.col1 and a.col2 = b.col2 and ...)

使用rowid时最后的解决办法,表中每行记录的rowid都是唯一的
delete from table_A a
  where a.rowid < (select max(b.rowid) 
  from table_A b 
  where a.column1 = b.column1
  and a.column2 = b.column2
  ... --有多少列就写多少列,方法同上
  );

112223


相关问答:

Oracle离线访问---求助 - Oracle / 基础和管理

大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
    大家好,我现在把oracle服务器上面 ......

oracle 10g安装到85%时报错

各位oracle高手,请教一下为什么oracle 10g在安装到百分之八十五的时候就报错不能继续安装?

内存多大? 重新下个数据库安装试试..

引用
各位oracle高手,请教一下为什么oracle 10g在安装到百分之八十五的时 ......

一个pl/sql问题 - Oracle / 开发

我是在toad中输入下段sql
  declare
  TYPE test_rec IS record(
  code varchar(10),
  name varchar(30)
  );
  v_book test_rec;
    ......

java和oracle - 挨踢职涯 / 才入职场

本人现在学oracle 算是刚刚入一半门 以后还要学java 各位大侠oracle好入手还是java好入手啊 以后那个方面发展会好些
,我暂时有个想法想好好学习一下数据库以后往这方便发展,毕竟数据库跟新换代没有java那么快,不 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号