易截截图软件、单文件、免安装、纯绿色、仅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在安装到百分之八十五的时 ......

[原创] ORACLE 连接字串 - Oracle / 非技术区

假设table01 中有 以下资料
emp_no emp_name
------- ------------
0001 TOM
0002 JOHN
0003 MARY
常用电话 
而我们要得到以下的OUTPUT (或是各种其他的output)
0001,TOM
0002,JOHN ......

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

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

求一sql语句 - Oracle / 开发

两个表
请看 "Persons" 表:
name banji shunxu
yiyang 01 1
yiyang 02 1
lili 01 2
  
接下来请看 "xueke" 表:
name kemu shunxu
yiy ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号