我发现这个解决方案用于从Oracle中的表中选择一个随机行。实际上是以随机的方式对行进行排序,但是您只能获取随机结果的第一行。Oracle的随机行
SELECT *
FROM table
ORDER BY dbms_random.value;
我只是不明白它是如何工作的。在ORDER BY之后,它应该是用于排序的列。我看到“dbms_random.value”返回一个小于零的值。这种行为可以被解释,或者就像那样?
感谢
我发现这个解决方案用于从Oracle中的表中选择一个随机行。实际上是以随机的方式对行进行排序,但是您只能获取随机结果的第一行。Oracle的随机行
SELECT *
FROM table
ORDER BY dbms_random.value;
我只是不明白它是如何工作的。在ORDER BY之后,它应该是用于排序的列。我看到“dbms_random.value”返回一个小于零的值。这种行为可以被解释,或者就像那样?
感谢
你也可以认为它是这样的:
SELECT col1, col2, dbms_random.value
FROM table
ORDER BY 3
在这个例子中的数字3 =第三列
当你命令由DBMS_RANDOM.VALUE,通过表达甲骨文的订单,而不是一个column.For每条记录甲骨文计算一个随机数,并通过这个号码,然后顺序。
以类似的方式,是这样的:
select * from emp order by upper(ename);
你必须通过基于功能的顺序。
天才要比解决方案 –