【发布时间】:2020-06-30 18:27:48
【问题描述】:
我在表源和目标中有两列,如下所示。
source delivery
s1 d1
d1 d2
d2 f1
s2 d3
d3 d4
d4 d5
d5 f2
source - s1 destination f1
source - s2 destination f2
如何获取源和目的地之间的停靠点数? 例如:源 s1 -> 目标 f1 在它们之间有 3 个停靠点,并且 源 s2 -> 目标 f2 在它们之间有 4 个停靠点
我熟悉 SQL 查询,但从未编写过或遇到过这样的问题。 谁能让我知道如何为上述问题编写一个 sql 查询? 即使有另一个问题与相同的问题,该链接/问题可以帮助我理解如何编写它。
【问题讨论】:
-
在 MySQL 中你需要一个递归 CTE,它只在 MySQL 8+ 中可用。
-
其他选项包括尽可能频繁地将表连接到自身、切换到嵌套集模型或处理应用程序级代码中的递归。
标签: mysql sql recursive-query hierarchical-query