MySQL 获取所有子 ID 的 SQL 查询语句
MySQL 获取所有子 ID 的 SQL 查询语句
假设有一个表格名为'my_table',包含'id' 和 'parent_id' 两个字段,您可以使用以下 SQL 查询语句获取所有 'parent_id' 为指定值的记录的 'id':
SELECT id FROM my_table WHERE parent_id = [指定值];
其中,'[指定值]' 需要替换为实际的父 ID 值。
如果想要查询所有子 ID,可以使用以下递归查询:
WITH RECURSIVE cte AS (
SELECT id, parent_id
FROM my_table
WHERE parent_id = [指定值]
UNION ALL
SELECT t.id, t.parent_id
FROM my_table t
JOIN cte ON t.parent_id = cte.id
)
SELECT id FROM cte;
这个 SQL 递归查询会一直向下查询直到所有子 ID 被找到。其中,'[指定值]' 需要替换为实际的父 ID 值。
原文地址: https://www.cveoy.top/t/topic/lJXa 著作权归作者所有。请勿转载和采集!