sql 查询结果中的重复(重复)行
Duplicate (repeat) rows in sql query result
假设我有一个有两行的 table
id | value |
----+-------+
1 | 2 |
2 | 3 |
我想编写一个查询,根据值复制(重复)每一行。
我想要这个结果(总共 5 行):
id | value |
----+-------+
1 | 2 |
1 | 2 |
2 | 3 |
2 | 3 |
2 | 3 |
我正在使用 PostgreSQL 9.4。
您可以使用 generate_series()
:
select t.id, t.value
from (select t.id, t.value, generate_series(1, t.value)
from t
) t;
你可以用横向连接做同样的事情:
select t.id, t.value
from t, lateral
generate_series(1, t.value);
假设我有一个有两行的 table
id | value |
----+-------+
1 | 2 |
2 | 3 |
我想编写一个查询,根据值复制(重复)每一行。
我想要这个结果(总共 5 行):
id | value |
----+-------+
1 | 2 |
1 | 2 |
2 | 3 |
2 | 3 |
2 | 3 |
我正在使用 PostgreSQL 9.4。
您可以使用 generate_series()
:
select t.id, t.value
from (select t.id, t.value, generate_series(1, t.value)
from t
) t;
你可以用横向连接做同样的事情:
select t.id, t.value
from t, lateral
generate_series(1, t.value);