select from tableName sample(10) where rownum<5;
sample(10)代表从tableName 表中随机取到10%的数据 rownum<5 取4条
其实这个问题是这样的,你首先应该用一个array 记录 所有你要 取的数。
比如是一个 1-100的数组,
然后你就用随机数 取一个 数组的 位置,比如你 取到了 10,
你就从 这个array 中 ,删除这个数,
然后取随机数的范围缩小一个,因为数组已经是1-99的数组了。
就这样,一直取到最后一个数字
因为取出来的不是整数,所以10也还是不行
这样就好了
round(dbms_randomvalue(1,9),0)10
------------补充----------
刚才思考了一下,我用round四舍五入了最后能取到10-90的数
那位兄弟的trunc能取到10-80的,不过把他里边的9换成10应该就可以了
产生一个介于指定范围之内的38位精度的随机数
SQL> SELECT DBMS_RANDOMVALUE(1, 9999) FROM dual;
DBMS_RANDOMVALUE(1,9999)
-------------------------
426138448
如果你是要一个 4位的整数 (也就是最小1000, 最大 9999)
SELECT TRUNC( DBMS_RANDOMVALUE(1000, 9999) ) FROM dual;
以上就是关于oracle数据库,如何根据概率随机查询取四条数据呢全部的内容,包括:oracle数据库,如何根据概率随机查询取四条数据呢、oracle取随机数问题、oracle 取随机数的问题.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)