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条
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标记了这个,因为。。。?