【发布时间】:2020-03-26 23:21:23
【问题描述】:
同一张表的多行可以通过parent_id相互关联。有没有办法获得给定行的最远父级(带有附加条件,如id > 12)?
+----+-----------+
| id | parent_id |
+----+-----------+
| 12 | 1 |
+----------------+
| 13 | 12 |
+----------------+
| 14 | 13 |
+----------------+
| 15 | 14 |
+----------------+
- 给出的是 id 15
- 需要 id 13(因为它是 id 大于 12 的最远父级)
是否有任何合理的方法在 1 个语句中执行此操作,而不是一遍又一遍地迭代最近的父级?
【问题讨论】:
-
MySQL 不支持递归查询
-
@EriksKlotins MySQL 8 支持递归查询
-
使用 8.0 版