Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 递归查询_Mysql_Recursion - Fatal编程技术网

Mysql 递归查询

Mysql 递归查询,mysql,recursion,Mysql,Recursion,我对递归查询有一个问题: 在表partlist中有两个字段:article和part。一篇文章可以有多个部分,一个部分也可以有其他部分 例如: 第0条分为第1条和第2条 第1条分为第1a条和第1b条 第2条分为第1a条和第2b条 第2b条分为第3a条和第3b条 我把它放在SQL中: With list as (select article,part from partlist as e union all select article,part from partlist as e inn

我对递归查询有一个问题: 在表
partlist
中有两个字段:
article
part
。一篇文章可以有多个部分,一个部分也可以有其他部分

例如:

  • 第0条
    分为
    第1条
    第2条
  • 第1条
    分为
    第1a条
    第1b条
  • 第2条
    分为
    第1a条
    第2b条
  • 第2b条
    分为
    第3a条
    第3b条
我把它放在SQL中:

With list as 
(select article,part from partlist as e
union all
select article,part from partlist as e inner join liste as l on e.article=l.part)

select article, part from list
看起来不错:

article    | part
-----------+-----------
Article 1  | article 1a 
Article 1  | article 1b
Article 2  | article 1a 
Article 2  | article 2b 
article 2b | article 3a 
article 2b | article 3b
但是现在我想在上面放两种行号。一个用于所有行,一个用于父行。 应该是这样的:

row | parent row | article    | part
----+------------+------------+-----------
0   | null       | Article 0  | article 1
1   | null       | Article 0  | article 2
2   | 0          | Article 1  | article 1a 
3   | 0          | Article 1  | article 1b
4   | 1          | Article 2  | article 1a 
5   | 1          | Article 2  | article 2b 
6   | 5          | article 2b | article 3a 
7   | 5          | article 2b | article 3b 

我尝试了
row\u number
,但这不是正确的sql查询。

我在您的问题中添加了一些格式设置。我希望我没有误解什么。你能检查一下吗?你用mysql标记了这个,因为。。。?