Я знаю, что на этот вопрос уже получен ответ, но, увидев здесь столько посещений, я бы хотел добавить одну версию, которая использует предложение SAMPLE, но все же позволяет сначала фильтровать строки:
with cte1 as (
select *
from t_your_table
where your_column = 'ABC'
)
select * from cte1 sample (5)
Обратите внимание, что для базового выбора требуется столбец ROWID
, что означает, что он может не работать, например, для некоторых представлений.