【问题标题】:Duplicate (repeat) rows in sql query resultsql查询结果中的重复(重复)行
【发布时间】:2016-02-09 13:16:08
【问题描述】:

假设我有一个有两行的表

 id | value |
----+-------+
 1  |   2   |
 2  |   3   |

我想编写一个查询,该查询将根据值复制(重复)每一行。
我想要这个结果(总共 5 行):

 id | value |
----+-------+
 1  |   2   |
 1  |   2   |
 2  |   3   |
 2  |   3   |
 2  |   3   |

我使用的是 PostgreSQL 9.4。

【问题讨论】:

    标签: sql postgresql postgresql-9.4


    【解决方案1】:

    你可以使用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);
    

    【讨论】:

      猜你喜欢
      • 2020-08-28
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      相关资源
      最近更新 更多