www.qprq.net > 如何在orAClE数据库中每次随机查出记录不同的n条记录

如何在orAClE数据库中每次随机查出记录不同的n条记录

既然是随机,就很难保证是不重复,除非你每次查询完后把查询出来的更新掉状态。 select * from (select * from table order by dbms_random.random) where rownum < n 根据随机规则排序,取前n个 但是会出现重复的

oracle随机读取表中的N条数据方法: 1) select * from (select * from tablename order by sys_guid()) where rownum < N; 2) select * from (select * from tablename order by dbms_random.value) where rownum< N; 3) select * from (select ...

楼上的答案肯定不对, 因为 rownum 伪列是 sql 语句查询结果集的编号, 如果有数据被查出来那么 rownum 一定是从 1 开始的, 不可能从 3 开始, 所以select * from table where rownum between n and n+3 永远返回零条记录。 正确的做法: select...

由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum的组合来实现select top n的查询。简单地说,实现方法如下所示:select 列名1 ...列名n from(select 列名1 ...列名nfrom 表名 order by 列名1)where rownum

可以用rownum来查询 例如:select * from 用户名.表名 where rownum

oracle中取前N个数据,可用rownum实现。 如emp表中有如下数据: 现在要求取出前5条数据,可用如下语句: select * from emp where rownum

我仅仅提供一个思路,其他的你自己写。 首先oracle有一个能提供随机数的函数,这个函数是oracle提供的。(我记得是0-几百,没怎么用忘记了) 然后你写一个函数,函数中有一个循环,循环为1-9. 每次利用oracle的随机数函数提供一个随机数,这个随...

由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum 的组合来实现select top n的查询。 简单地说,实现方法如下所示: select 列名1 ...列名n from(select 列名1 ...列名n from 表名 order by 列名1)where rownum

应该是得看你是取什么前几条了,如果你是直接按数据库中的排法取前五条数据的话那就是: select * from t2001_s1 where rownum

oracle存储过程很长时间没用过了,只能提些建议了 打开游标,选出符合条件的记录,譬如数量>200 游标循环 死循环 创建1到200的随机数,存入变量 插入一条新记录,no、name与游标当前记录相同,数量为随机数 判断当前记录的数量-变量是否小于指定...

网站地图

All rights reserved Powered by www.qprq.net

copyright ©right 2010-2021。
www.qprq.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com