Postgres获取所有可能的起点/终点节点序列

时间:2018-11-16 14:00:40

标签: postgresql window-functions with-statement

我有这个Postgres表,其中有向图的节点:

node_id | node_sequence 
-----------------------
   1           1
   2           2 
   3           3 

我将返回一个表,其中包含节点之间所有可能的原始目的地序列(仅在一个方向上): (1,2);(1,2,3);(2,3)。所以输出表应该是:

node_id
 ----
   1
   2
   1
   2
   3
   2
   3

也许“死里逃生”是正确的选择,但我不知道该怎么做。

非常感谢

1 个答案:

答案 0 :(得分:1)

根据初始答案进行编辑
您似乎有2个限制条件,没有在问题中提及:

  • 您需要至少2个元素的序列
  • 序列中的元素必须按升序排列且连续

这是一个简单的查询(CTE GraphNode应该替换为您的表):

DateTimeOffset