从查询结果中选择随机结果样本

2021-12-06 00:00:00 sql random-sample oracle

这个问题询问获取随机(ish)记录样本在 SQL Server 上,答案是使用 TABLESAMPLE.Oracle 10 中是否有等价物?

This question asks about getting a random(ish) sample of records on SQL Server and the answer was to use TABLESAMPLE. Is there an equivalent in Oracle 10?

如果没有,是否有从查询集中获取随机结果样本的标准方法?例如,如何从正常返回数百万的查询中获取 1,000 条随机行?

If there isn't, is there a standard way to get a random sample of results from a query set? For example how can one get 1,000 random rows from a query that will return millions normally?

推荐答案

SELECT  *
FROM    (
        SELECT  *
        FROM    mytable
        ORDER BY
                dbms_random.value
        )
WHERE rownum <= 1000

相关文章