Roh*_*ada 8 postgresql generate-series
我使用generate_series在表中插入值.并且generate_series按其范围中的指定插入值.
例如:对于以下查询,
SELECT i AS id, i AS age, i AS house_number
INTO egg
FROM generate_Series(1,6) AS i;
Run Code Online (Sandbox Code Playgroud)
我们得到的结果是:
id age house_number
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
Run Code Online (Sandbox Code Playgroud)
但我的问题是,我想在列"年龄"中仅插入数字3,然后在3之后从0开始:
id age house_number
1 1 1
2 2 2
3 3 3
4 1 4
5 2 5
6 3 6
Run Code Online (Sandbox Code Playgroud)
这可能吗?是否有一些随机函数generate_series()执行相同的功能?
Mar*_*ers 11
您可以使用模运算从0循环到n - 1并添加一个:
SELECT i AS id, (i - 1) % 3 +1 AS age, i AS house_number
INTO egg
FROM generate_Series(1,6) AS i;
Run Code Online (Sandbox Code Playgroud)