如何使用SQL计算三叉树中的子代

时间:2019-04-04 19:09:17

标签: mysql

我有兴趣寻找可以给我总编号的SQL查询。每个节点中的子项数量。

                               A
                            /  |  \
                           B   C    D
                          /|\  |   /|\
                         E F G H  I J K
                        /     / \ 
                       L     M   N

我正在使用此代码

SELECT PARENT.user_id AS PARENT,
       COUNT(*)
FROM users AS PARENT
        INNER JOIN users CHILD ON PARENT.user_id = CHILD.parent_id
GROUP BY PARENT;

这给了我每个节点的数量。


A = 3
B = 3
C = 1
D = 3
E = 1
F = 0
G = 0
H = 2
I = 0
J = 0
K = 0
L = 0
M = 0
N = 0

我正在寻找这样的东西:


A = 13
B = 4
C = 3
D = 3
E = 1
F = 0
G = 0
H = 2
I = 0
J = 0
K = 0
L = 0
M = 0
N = 0

0 个答案:

没有答案