postgresql – Postgres FOR LOOP

前端之家收集整理的这篇文章主要介绍了postgresql – Postgres FOR LOOP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从表中获取15,000个ID的25个随机样本。而不是每次手动按下运行,我试图做一个循环。我完全理解的不是Postgres的最佳使用,但它是我拥有的工具。这是我到目前为止:
  1. for i in 1..25 LOOP
  2. insert into playtime.Meta_random_sample
  3. select i,ID
  4. from tbl
  5. order by random() limit 15000
  6. end loop
Procedural elements like loops不是sql语言的一部分,只能在程序语言函数DO语句的内部使用,其中这些附加元素由相应的过程语言定义。默认为 PL/pgSQL,但 there are others

使用plpgsql的示例:

  1. DO
  2. $do$
  3. BEGIN
  4. FOR i IN 1..25 LOOP
  5. INSERT INTO playtime.Meta_random_sample (col_i,col_id) -- use col names
  6. SELECT i,id
  7. FROM tbl
  8. ORDER BY random()
  9. LIMIT 15000;
  10. END LOOP;
  11. END
  12. $do$;

如果您需要优化性能,请考虑以下相关问题:

> Best way to select random rows PostgreSQL

猜你在找的Postgre SQL相关文章