postgresql中的唯一随机整数

Aud*_*rey 1 sql random postgresql amazon-redshift

有没有办法在posgresql中生成唯一的(不同的)随机数(特别是红移)?以下代码生成5个随机整数,从1到10 ,替换为:

SELECT round(random()*(10 - 1) + 1) from generate_series(1, 5);
Run Code Online (Sandbox Code Playgroud)

有没有办法从1到10生成一组5个随机整数而无需替换?谢谢.

Mur*_*nik 8

您可以使用generate_series生成1到10之间的所有数字,在order by子句中随机播放它们然后进入前5:

SELECT   num
FROM     GENERATE_SERIES (1, 10) AS s(num)
ORDER BY RANDOM()
LIMIT    5
Run Code Online (Sandbox Code Playgroud)