[英]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.