从关系数据库创建邻接表 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 子句中受益。
我有一个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 子句中受益。