array_sample()
是一个系统函数,返回从提供的 数组 中随机选择的指定数量的项目的数组。
array_sample()
在 PostgreSQL 16 中添加。
用法
array_shuffle (array
anyarray
) →n
anyarray
指定的元素数量 (n
) 必须不超过提供的数组中的元素数量。如果 n
为 0
,则返回空数组。
返回数组中的项目不保证与提供的数组中的顺序相同。
更改历史记录
- PostgreSQL 16
- 添加 (提交 888f2ea0)
示例
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
参考
- PostgreSQL 文档: 数组函数