Вы можете использовать ORDER BY dbms_random.value
, а затем вычислить количество общих записей, разделить на 5 и использовать это, чтобы ограничить количество возвращаемых строк:
SELECT * FROM
( SELECT * FROM mytable
ORDER BY dbms_random.value
)
WHERE rownum <= (SELECT count(*)/5 from mytable)