簡體   English   中英

在列中插入隨機數序列的 PostgreSQL 過程

[英]PostgreSQL procedure to insert a sequence of random numbers in a column

我需要插入由|連接的k隨機數(在1:n范圍內) 進入表'X'的列,其中n是表'Y'的行數,在 PostgreSQL 過程中。

查找表'Y'的行數

select count(*) into n from Y

這將生成1:n范圍內的k隨機數

SELECT num FROM GENERATE_SERIES (1, n) AS s(num) ORDER BY RANDOM() LIMIT k;

如何將k整數與|連接起來並將它們插入'X'

您可以使用insert ... select和字符串聚合函數string_agg()

insert into y (x)
select string_agg(num::text, '|')
from (select num from generate_series (1, n) as s(num) order by random() limit k) s

請注意,您需要n等於或大於k才能使此技術有意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM