array_sample()

返回数组随机项的函数

array_sample() 是一个系统函数,它从提供的 数组 中随机选择指定数量的项,并返回一个新数组。

array_sample()PostgreSQL 16 中添加。

用法

array_shuffle ( array anyarray , n integer ) → anyarray

指定的元素数量(n)不得超过所提供数组的元素数量。如果 n0,则返回一个空数组。

返回数组中的项的顺序不保证与所提供数组中的顺序相同。

变更历史

示例

array_sample() 的基本用法示例

postgres=# SELECT array_sample(ARRAY[1,2,3], 2);
 array_sample 
--------------
 {3,2}
(1 row)

postgres=# SELECT array_sample(ARRAY[ ['foo','bar'], ['zoo','zog'], ['bim','bam'] ], 2);
     array_sample      
-----------------------
 {{foo,bar}, {zoo,zog}}
(1 row) 

尝试提供无效的样本大小

postgres=# SELECT array_sample(ARRAY[1,2,3], -1);
ERROR:  sample size must be between 0 and 3

分类

数组, 系统函数

另请参阅

array_shuffle()

反馈

提交对“array_sample()”的任何评论、建议或更正,请在此处 提交