Mysql递归查询——获取所有父子关系

标签 mysql sql

<分区>

我有包含以下数据的表格。

id|child
1|2
1|3
1|4
2|6
2|7
3|9
6|10
6|11
9|12
9|13
10|14
10|15
17|18
19|20

我需要获取如下数据。即一个 id 的所有父子关系。

在这里,我递归地选择了父 ID 为“1”的所有子节点

id|all_child_id
1|2,3,4
2|6,7
3|9
6|10,11
9|12,13
10|14,15

我正在寻找我的 Mysql 不支持的“WITH RECURSIVE”。谁能帮我写这样的递归查询,其中深度不能有任何限制。

最佳答案

您预期的输出显示,可以通过使用 group_concat

来实现
select parent, group_concat(child)
from table
group by parent

fiddle

关于Mysql递归查询——获取所有父子关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23647606/

相关文章:

php - 我怎样才能让我的 php 只从 mysql 返回某个 id

php - 在 PHP 中将 mysql 数据加载到谷歌图表

sql - Visual Studio 数据库项目生成错误

mysql - 在 GROUP BY 中使用 LIMIT 来获得每组 N 个结果?

php - PHP的MySQLi多查询重新排序自动增量ID

mysql - 分组但仅计算事件行-SQL

mysql - 我想获得给定表中所有学生按 'subject' 分组的最大值(HA)和最大值(总计)

php - 如果产品名称不存在则隐藏项目

javascript - 在 NodeJS 中导出 API 对象

mysql - 如何使用sql查询将第二个单位的数据聚合为一个平均分钟单位