相关疑难解决方法(0)

如何创建MySQL分层递归查询

我有一个MySQL表,如下所示:

id | name        | parent_id
19 | category1   | 0
20 | category2   | 19
21 | category3   | 20
22 | category4   | 21
......
Run Code Online (Sandbox Code Playgroud)

现在,我想要一个MySQL查询,我只提供id [例如说'id = 19']然后我应该得到它的所有子id [即结果应该有id',21,22']. ...而且,孩子们的等级不知道它可以变化....

另外,我已经有了使用for循环的解决方案.....如果可能的话,让我知道如何使用单个MySQL查询来实现相同的功能.

mysql sql recursive-query hierarchical-data

237
推荐指数
9
解决办法
25万
查看次数

SQL查询只选择孙子

我对SQL很陌生,试图绕过它,但它有点令人困惑.这是我正在使用的简化版本.

我有这个表叫people:

+----+------------+-----------+
| id | name       | parent_id |
+----+------------+-----------+
|  1 | Bob        | 3         |
|  2 | John       | 5         |
|  3 | Larry      | 4         |
|  4 | Kevin      | 0         |
|  5 | Kyle       | 0         |
|  6 | Jason      | 5         |
|  7 | Mildred    | 4         |
|  8 | Mabel      | 6         |
+----+------------+-----------+
Run Code Online (Sandbox Code Playgroud)

上表是一份人员名单.他们的parent_id列指的是他们的父母是谁.如果桌子上没有父母,则他们的parent_id为0.

现在,我希望能够获得每组人员的单独列表:祖父母,子女和孙子女.

很容易得到祖父母(拉里和凯文),我可以这样查询:

SELECT name FROM people WHERE parent_id = …
Run Code Online (Sandbox Code Playgroud)

mysql sql

6
推荐指数
1
解决办法
3223
查看次数

标签 统计

mysql ×2

sql ×2

hierarchical-data ×1

recursive-query ×1