从关系数据库创建邻接表 table

Create adjacency list from relational data base table

我有一个table这样的

name  |  time
a     |  1:00
b     |  1:05
a     |  1:10
c     |  1:15
d     |  1:20
b     |  1:29
e     |  1:30
a     |  1:31
f     |  1:36

现在我每次都想得到 class 上下 5 分钟的序列。

a  : a->b
b  : a->b->c
a  : b->a->c
c  : a->c->d
d  : c->d
.    .
.    .
.    .

我想将这些序列存储在邻接列表中。喜欢下面table

parent_name | child_name | graph id
  a         |   b        |    1
  a         |   b        |    2
  b         |   c        |    2
  b         |   a        |    3
  a         |   c        |    3

谁能告诉我如何使用 SQL 查询来做到这一点?

我认为您正在寻找嵌套集模型。它记录在 wiki 上。实现和示例是通用的,适用于所有 SQL 兼容引擎,但在 Oracle 中,您可以对其进行调整,以便从 SELECT 语句中的 CONNECT BY 子句中受益。