oracle随机读取表中的N条数据方法:
1) select from (select from tablename order by sys_guid()) where rownum < N;2) select from (select from tablename order by dbms_randomvalue) where rownum< N;
3) select from (select from table_name sample(10) order by trunc(dbms_randomvalue(0, 1000))) where rownum < N;
说明:
sample(10)含义为检索表中的10%数据,sample值应该在[0000001,99999999]之间,其中 sys_guid() 和 dbms_randomvalue都是内部函数
注:
在使1)方法时,即使用sys_guid() 这种方法时,有时会获取到相同的记录,即:和前一次查询的结果集是一样的(可能是和 *** 作系统有关:windows正常,linux异常;也可能是因为sys_guid()函数本身的问题,有待继续研究)
所以,为确保在不同的平台每次读取的数据都是随机的,建议采用2)和3)两种方案,其中2)方案更常用。3)方案缩小了查询的范围,在查询大表,且要提取数据不是很不多的情况下,会对查询速度上有一定的提高
先查询出所有的ID放在一个数组里面。
另外你再参考一下我的32选7的**代码 就应该会明白了!
<script>
var Number=new Array(6);
var Time;
var shu=10;
function RandomNum()
{
for(var i=0;i<Numberlength;i++)
{
Number[i]=parseInt(Mathrandom()32+1);
for(var n=0;n<i;n++){
if (Number[i] == Number[n])
{
Number[i]=parseInt(Mathrandom()32+1);
}
}
}
var obj=documentgetElementsByName("num");
for(var i=0;i<objlength;i++)
{
obj[i]value=Number[i];
}
documentgetElementById("num1")value=parseInt(Mathrandom()16+1);
Time = setTimeout("RandomNum()",shu)
shu=shu+1;
if(shu>=50)
{
clearTimeout(Time);
documentgetElementById("btnOK")value="买好离手啊"
shu=0;
}
}
</script>
写个循环语句,每次随机一个信息存入一个随机数据表内,在设一个计数,计数控制在200以内,每随机一条数据并将随机的数据与随机数据表里之前的数据比对无重复的即+1,计数如果在200以内继续循环。。。、
不好意思 语句我早就忘了,但我这样想的希望可以解决你的问题
SQL随机查询语句,[数据库使用技巧]SQL语句生成随机数,如何随机显示sql查询语句查询的数据记录集中的20条,随机取出若干条记录的SQL语句,使用SQL语句取随机数的方法
方法如下:
SQL
Server:
Select
TOP
N
From
TABLE
order
By
NewID()
Access:
dim
r
randomize
r
=
rnd
sql
=
"select
top
10
from
table
order
by
rnd("
&
r
&
"-id)"
rnd("
&
r
&
"-id)
其中的id是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
select
top
10
from
table
order
by
rnd("
&
r
&
"-Len(UserName))
MySql:
Select
From
TABLE
order
By
Rand()
Limit
10
orACLE:
select
from
(select
from
t
order
by
dbms_randomvalue)
where
rownum<10
以上就是关于怎么从一个表中随机取一条数据全部的内容,包括:怎么从一个表中随机取一条数据、asp.net怎么从数据库中随机抽取数据、数据库里10000条数据,我想随机取出200个,要怎么做呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)