求一查询语句(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