Oracle11g Oracle 11g中的dbms_random.random是随机函数吗?
如何选择随机数目的记录?当我使用DBMS_RANDOM.RANDOM并按此排序时,记录不是随机的。好的,我有1000条我想要的记录,但我看到ID不是随机的。。。为什么?您知道Oracle 11g中的另一个真正随机的函数吗?如何从整个表中随机获得1000条记录 我的方式:Oracle11g Oracle 11g中的dbms_random.random是随机函数吗?,oracle11g,Oracle11g,如何选择随机数目的记录?当我使用DBMS_RANDOM.RANDOM并按此排序时,记录不是随机的。好的,我有1000条我想要的记录,但我看到ID不是随机的。。。为什么?您知道Oracle 11g中的另一个真正随机的函数吗?如何从整个表中随机获得1000条记录 我的方式: SELECT ... FROM TAB1 INNER JOIN TAB2 ON TAB1.ID = TAB2.ID ORDER BY DBMS_RANDOM.RANDOM 我也使用DBMS_RANDOM.VALUE,但结果是
SELECT ... FROM TAB1 INNER JOIN TAB2 ON TAB1.ID = TAB2.ID ORDER BY
DBMS_RANDOM.RANDOM
我也使用DBMS_RANDOM.VALUE,但结果是一样的
示例结果:ID3354689037506693
好像它接受一个分区,然后通过DBMS_RANDOM.RANDOM生成一个orber。谢谢你的帮助
如何选择随机数目的记录
DBMS_RANDOM.VALUE将随机返回行,当同时指定order by时,它将随机排序
SQL> SELECT empno FROM emp ORDER BY empno;
EMPNO
----------
7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876
7900
7902
7934
14 rows selected.
SQL> SELECT empno FROM(
2 SELECT * FROM emp ORDER BY dbms_random.VALUE)
3 WHERE ROWNUM <=10
4 /
EMPNO
----------
7654
7902
7782
7566
7839
7369
7900
7499
7876
7844
10 rows selected.
SQL>
因此,您可以获得行的随机顺序。这是随机的。。。你想在10个随机ID上执行选择还是随机排序结果,因为这是两个不同的东西…如果这不是随机的,那么你对随机的定义是什么?那么你每次都得到相同的1000行,但排序不同吗?您在哪里限制行数?例如,您没有显示rownum筛选器,但我怀疑您在错误的位置执行此操作。是的,这对我来说是随机的,因为我看不到分区。你明白吗?在我的结果中,我看到一个随机ID,但在1到100、100到200等的块中,我想要一个从1到1000的随机记录。当我选择附加列1,0时,我的偶然分布为500:500。。。也许我不能使用连接或。。。