PostgreSQL。生成随机整数集

Ale*_*ros 1 postgresql random postgresql-9.3

使用此命令,我可以生成 1 和 200,000 之间的 16384 个随机整数。

SELECT generate_series (1,16384),(random()*200000)::int AS id
Run Code Online (Sandbox Code Playgroud)

我想生成 10 组这样的整数。每个集合必须有一个整数标识符,类似于:

1 | 135

1 | 1023

...第一组 16384 个随机数结束

2 | 15672

2 | 258732

... 第二组 16384 个随机数结束

这可以通过 SQL 命令实现,还是我应该为此编写一个函数?

ype*_*eᵀᴹ 5

这会是你想要的吗?

SELECT 
   n, generate_series (1,16384), (random()*200000)::int AS id 
FROM  
   generate_series (1,10) AS x(n) ;
Run Code Online (Sandbox Code Playgroud)

或类似的:

SELECT 
    n, i, (random()*200000)::int AS id 
FROM  
    generate_series (1,10) AS x(n) 
  CROSS JOIN
    generate_series (1,16384) AS y(i) ;
Run Code Online (Sandbox Code Playgroud)