Sql 在同一个表中分组名称
我有以下SQL表列Sql 在同一个表中分组名称,sql,group-by,Sql,Group By,我有以下SQL表列 id | name | under ---|-------|------ 0 | Nill | -1 1 | Name1 | 0 2 | Name2 | 0 3 | Name3 | 0 4 | Name4 | 1 5 | Name5 | 2 6 | Name6 | 2 7 | Name7 | 1 8 | Name8 | 3 9 | Name9 | 2 10| Name10| 3
id | name | under
---|-------|------
0 | Nill | -1
1 | Name1 | 0
2 | Name2 | 0
3 | Name3 | 0
4 | Name4 | 1
5 | Name5 | 2
6 | Name6 | 2
7 | Name7 | 1
8 | Name8 | 3
9 | Name9 | 2
10| Name10| 3
我需要像下面这样的输出
Name1
Name4
Name7
Name2
Name5
Name6
Name9
Name3
Name8
Name9
帮我找出解决办法。我想你在找这样的东西
;WITH CTE AS (
SELECT id parent , * FROM Users WHERE under = 0
UNION ALL
SELECT CTE.id patent ,T.* FROM Users T INNER JOIN CTE ON CTE.id = T.under
)
select * from CTE
order by parent, under
更好地解释这很混乱,也发布你的代码我们更容易调试。你为什么想要这样的顺序?@jarlh看看下面的专栏,它给了我们位置expected@FoxCy,是吗?什么编程语言?