gpt4 book ai didi

sql - 在 PostgreSQL 中创建随机列

转载 作者:行者123 更新时间:2023-11-29 13:49:56 25 4
gpt4 key购买 nike

我想创建一个包含两列的表格,如下所示:

a   b
1 | 5
1 | 3
1 | 1
1 | 2
1 | 4
2 | 3
2 | 4
2 | 1
2 | 2
2 | 5

第一列是连续的数字序列,如图所示。第二列是一系列随机的唯一数字,无论有多少重复数字。

我一直在努力寻找一种方法来做到这一点。到目前为止,我可以通过执行 generate_series(1,5) ORDER BY RANDOM() 来得到唯一的随机数。但这只会创建一次。也不会创建我正在寻找的整个表格。

最佳答案

一种方法是绕过优化,因此 random() 对每一行运行。关联子句具有以下效果:

with v as (
select generate_series(1, 5) as x
),
t as (
select generate_series(1, 20) y
)
select *
from t, lateral
(select v.x
from v
where t.y is not null
order by random()
limit 1
) x;

关于sql - 在 PostgreSQL 中创建随机列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com