RosettaCodeData/Task/Loops-Break/DuckDB/loops-break.duckdb
2025-08-11 18:05:26 -07:00

22 lines
514 B
Text

# PRN in range(0,n)
create or replace function prn(n) as trunc(random() * n)::BIGINT;
# Print numbers in range(0,n) as per the task description
create or replace function task(n) as table (
with recursive cte as (
select prn(n) as rand, false as stop
union all
select
prn(n) as rand,
rand = 10 as stop
from cte
where stop != true
) select rand
from cte
where stop = false
);
.print A sample run:
from task(20);
.print A likely shorter one:
from task(11);