从表中随机返回n条记录

时间:2022-08-10 17:21:05

创建测试用表:

CREATE OR REPLACE VIEW V AS
SELECT 'a' AS c FROM dual
UNION ALL
SELECT 'b' AS c FROM dual
UNION ALL
SELECT 'c' AS c FROM dual
UNION ALL
SELECT 'd' AS c FROM dual
UNION ALL
SELECT 'e' AS c FROM dual;
SELECT * FROM v;

从表中随机返回n条记录

查询语句如下:

SELECT c
FROM (SELECT c FROM v ORDER BY DBMS_RANDOM.VALUE())
WHERE ROWNUM < 3;

查询结果如下:

从表中随机返回n条记录