By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
with r as (
select 1 as memberid
union all
select memberid+1
from r
where memberid < 100
),
c1 as (
select
row_number() over(order by rand()) as idx
,memberid
from r
)
select
*
from c1
where idx < (select max(idx) * .05 from c1)
idx | memberid |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |