postgresql 怎么抽样
时间: 2023-09-30 22:06:28 浏览: 122
在PostgreSQL中,可以使用`TABLESAMPLE`子句从表中随机抽取一定比例的行。以下是一个示例查询:
```
SELECT * FROM mytable TABLESAMPLE SYSTEM(10);
```
这个查询将从表`mytable`中随机抽取10%的行。你可以根据需要调整`SYSTEM`子句中的百分比。除了`SYSTEM`,还可以使用`BERNOULLI`方法进行随机抽样。例如:
```
SELECT * FROM mytable TABLESAMPLE BERNOULLI(5);
```
这个查询将以5%的概率随机抽取每一行,因此结果集的大小可能会有所不同。请注意,`TABLESAMPLE`仅适用于基于磁盘的表,因为它需要扫描整个表。如果你需要从大型表中随机抽样,请考虑使用更高级的技术,例如分层抽样或随机抽样算法。
阅读全文