【发布时间】:2015-06-11 13:19:31
【问题描述】:
我怎样才能从一个表中检索(select)一半的记录,例如,一个有 1000 行的表,从表中检索 500 (50%) 条记录。 (在这种情况下,我可以使用 rownum,因为我们知道行的确切数量(1000) - select * from table where rownum <= 500),但我必须计算每个表才能实现语句。
你认为我能做到这一点的最佳方法是什么?
【问题讨论】:
-
dba_tables 上有一个 num_rows 列,但我认为只有在分析表时才会刷新
-
您使用的是什么版本的 Oracle?而且,“一半”需要精确到什么程度?
-
Oracle 11g,可能是随机的