日期:2014-05-17  浏览次数:20528 次

求一查询语句(oracle)
比如在从数字1到5000 ,每隔一千个号随机抽取10个号码 应该怎么写?
1到1000 随机抽 10个号,1001到2000抽10个号。以此类推。。。

------解决方案--------------------
可以这个,用rand随机函数,select rand*1000,rand*(1000+1000),rand*(1000+1000+1000)……
------解决方案--------------------
DBMS_RANDOM.VALUE(1,1000)

DBMS_RANDOM.VALUE(1001,2000)

DBMS_RANDOM.VALUE(2001,3000)

DBMS_RANDOM.VALUE(3001,4000)

DBMS_RANDOM.VALUE(4001,5000)
------解决方案--------------------

对于指定范围内的整数,要加入参数low_value和high_value,并从结果中截取小数(最大值不能被作为可能的值)。所以对于0到99之间的整数,你要使用下面的代码:

SELECT TRUNC(DBMS_RANDOM.VALUE(0, 100)) FROM DUAL