oracle 随机数及相应函数

        先贴一段sql:

SELECT   *
      FROM   check_for_busi_result SAMPLE BLOCK (10) SEED (11)
     WHERE   ROWNUM <= 5;
     /*   1.sample只对单表生效,不能用于表连接、远程表、视图
          2.sample会使SQL自动使用CBO                     */
     
     /* sample  按记录采样   seed(3) 返回固定的结果集 */
      select count(*) from check_for_busi_result sample(18);
      
       SELECT   *
      FROM   check_for_busi_result SAMPLE (18)
     WHERE   ROWNUM <= 5;
     
     /* SAMPLE BLOCK (18) 按数据块采样  “采样表扫描”随机抽取10%的记录,再从中随机查询5条记录 */
     select count(*) from check_for_busi_result sample block(18) ;
     
         SELECT   *
      FROM   check_for_busi_result SAMPLE BLOCK (18) 
     WHERE   ROWNUM <= 5;
     /*  获取一个随机数
    --(0-10的整数) */
     SELECT   TRUNC (DBMS_RANDOM.VALUE (0, 10)) randomNum FROM DUAL;
     
     取表随机数据
      SELECT   *
      FROM   (  SELECT   *
                  FROM   check_for_busi_result  
              ORDER BY   DBMS_RANDOM.VALUE)
     WHERE   ROWNUM <= 3
     
      SELECT   *
      FROM   (  SELECT   *
                  FROM   check_for_busi_result
               
              ORDER BY   DBMS_RANDOM.VALUE(1,3))
     WHERE   ROWNUM <= 3
     
     SELECT   *
      FROM   (  SELECT   *
                  FROM   check_for_busi_result
                
              ORDER BY   DBMS_RANDOM.random)
     WHERE   ROWNUM <= 3
     
     
      SELECT   *
      FROM   (  SELECT   *
                  FROM   check_for_busi_result
                
              ORDER BY   sys_guid())
     WHERE   ROWNUM <= 3

 

贴个资源博客:https://blog.csdn.net/bbliutao/article/details/7727322;

转载于:https://my.oschina.net/u/3489292/blog/1787072

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值