Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PostgreSQL列值和一些计算作为第二列值_Sql_Postgresql - Fatal编程技术网

如何使用PostgreSQL列值和一些计算作为第二列值

如何使用PostgreSQL列值和一些计算作为第二列值,sql,postgresql,Sql,Postgresql,我正在将一个巨大的数据集插入到SQL表中,我希望实现类似的功能 SELECT generate_series(1,10) AS a, mod(generate_series(11,20),3) as b,mod(generate_series(21,30),5) as c; a | b | c ----+---+--- 1 | 2 | 1 2 | 0 | 2 3 | 1 | 3 4 | 2 | 4 5 | 0 | 0 6 | 1 | 1 7 | 2 | 2

我正在将一个巨大的数据集插入到SQL表中,我希望实现类似的功能

SELECT generate_series(1,10) AS a, mod(generate_series(11,20),3) as b,mod(generate_series(21,30),5) as c;

 a  | b | c 
----+---+---
  1 | 2 | 1
  2 | 0 | 2
  3 | 1 | 3
  4 | 2 | 4
  5 | 0 | 0
  6 | 1 | 1
  7 | 2 | 2
  8 | 0 | 3
  9 | 1 | 4
 10 | 2 | 0
(10 rows)
问题是我不想为
b
c
调用generate_series函数。我想取
a
的值,对
b
c
执行mod,如下所示,甚至是有效的方式,但我无法理解这一点,我如何才能有效地执行,因为我将生成并保存100万条记录

SELECT generate_series(1,10) AS a, mod(a,3) as b,mod(a,5) as c;

使用
from
子句:

SELECT a, mod(a, 3) as b, mod(a, 5) as c;
FROM generate_series(1,10) gs(a)

使用
from
子句:

SELECT a, mod(a, 3) as b, mod(a, 5) as c;
FROM generate_series(1,10) gs(a)

你能解释一下gs(a)的目的吗?@KhubaibAhmad。这将
generate_series()
的返回值命名为
gs.a
。您能解释一下
gs(a)
的用途吗?@KhubaibAhmad。它将
generate_series()
中的返回值命名为
gs.a