我试图从表中获取15,000个ID的25个随机样本。而不是每次手动按下运行,我试图做一个循环。我完全理解的不是Postgres的最佳使用,但它是我拥有的工具。这是我到目前为止:
for i in 1..25 LOOP insert into playtime.Meta_random_sample select i,ID from tbl order by random() limit 15000 end loop@H_502_3@
@H_502_3@
Procedural elements like loops不是sql语言的一部分,只能在程序语言函数或
DO
语句的内部使用,其中这些附加元素由相应的过程语言定义。默认为
PL/pgSQL,但
there are others。
使用plpgsql的示例:
DO $do$ BEGIN FOR i IN 1..25 LOOP INSERT INTO playtime.Meta_random_sample (col_i,col_id) -- use col names SELECT i,id FROM tbl ORDER BY random() LIMIT 15000; END LOOP; END $do$;
如果您需要优化性能,请考虑以下相关问题:
> Best way to select random rows PostgreSQL
@H_502_3@ 原文链接:https://www.f2er.com/postgresql/193285.html