【发布时间】:2020-11-05 20:15:47
【问题描述】:
我正在尝试从有效值列表 [1,2,3,4,5,9] 中生成一个随机值。如果我运行我的函数 10 次,则有 2 个值永远不会出现。我需要列表中的每个值都出现在我的示例中。我怎样才能确保这一点?均匀分布会很好,但每个值至少有几行。
select random_code
from (
with temp_code_table as (
select '1' as random_code from dual union
select '2' as random_code from dual union
select '3' as random_code from dual union
select '4' as random_code from dual union
select '5' as random_code from dual union
select '9' as random_code from dual)
select random_code from temp_code_table order by dbms_random.value)
where rownum = 1;
我在一个函数中运行上面的SQL,它会检查生成的随机码是否与原始值不同。
编辑:不确定下面帖子中的答案是否能帮助我实现我想要的。
Generating Random Value using CASE
关于如何实现这一点的任何建议?
【问题讨论】:
-
。 .运行代码 20 次或 100 次。