首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求一语句:oracle 删除表中其中一部分数据,仅保留原来1/10的数据,如何删除现有的记录

2012-04-23 
求一语句:oracle 删除表中其中一部分数据,仅保留原来1/10的数据,怎么删除现有的记录?oracle 删除表中其中

求一语句:oracle 删除表中其中一部分数据,仅保留原来1/10的数据,怎么删除现有的记录?
oracle 删除表中其中一部分数据,仅保留原来1/10的数据,怎么删除现有的记录?
随机删除

[解决办法]
delete from test where id not in(
select id from test where rownum<=(select count(1)/10 from test));
按行号来删除
[解决办法]
看不懂
[解决办法]

探讨

delete from test where id not in(
select id from test where rownum<=(select count(1)/10 from test));
按行号来删除

[解决办法]
delete from test where id not in(
select t.id
from (
select * from test order by dbms_random.value
) t
where rownum<=(select count(1)/10 from test)
);
dbms_random.value :该函数用来产生一个介于0和1之间随机数,查询结果随机排序是它的一种用法。

热点排行