我正在从一些表中抽取一个随机样本,并注意到根据我编写查询的方式,它不起作用。显然,我没有使用 all_tab_columns,我只是提供了一个适用于 vanilla 实例 (9.2.0.8) 的示例。
为什么这行得通?
select * from (
select
floor(dbms_random.value(0,1000)) as randomval
from
all_tab_columns where rownum < 10000
) where randomval > 200 and randomval < 300;
但这不会返回任何结果。
select * from (
select
floor(dbms_random.value(0,1000)) as randomval
from
all_tab_columns
) where randomval > 200 and randomval < 300;
查询中的 rownum < 10000 有什么作用?
编辑:澄清什么不起作用。
编辑:添加版本 9.2.0.8