易截截图软件、单文件、免安装、纯绿色、仅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并发处理SOS - Oracle / 开发

我在开发的这个应用并发性比较高,oracle更新数据时候如何处理并发处理呢?各位大侠发表好的观点啊,在线等待!
oracle数据更新时,会自动默认行锁定,楼主不要操心,Oracle对并行处理已经很成熟了

引用
oracle ......

Oracle的blob字段问题 - Oracle / 开发

查了一天的blob,还是没理解到,我想在VC下存取二进制的文件,使用的是oo4o,照着帮助文档上面的写了写入数据库的代码,还是没写对,错误提示是this operation is not permitted on a empty LOB,这是什么意思啊?照 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号