Home > database >  The younger brother in the snow an SQL statement, genuflect is begged recursive query all child node
The younger brother in the snow an SQL statement, genuflect is begged recursive query all child node

Time:11-17

The table name rp_user

User ID, user_id
Referral ID user_agent_id
The user name user_name

+ -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +
| user_id | user_name | user_agent_id |
+ + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +
| | | A | 0 1
| 2 | | 1 | B
| 3 | | 1 | C
4 | | D | 2 |
5 | | E | 2 |
| | 6 F | 3 |
7 | | G | | 6
8 | | H | | 0
| 9 8 | | | I
10 | | | | 8 J
11 | | | | 8 K
12 | | | | 9 L
| | 13 M | | 9
12 | | | | 14 N
15 12 | | O | |
16 | | | | 15 P
15 | | | | 17 Q
. And so on data


Tree diagram below
1: A
B + - 2:
| + -- 4: D
| + - 5: E
+ - 3 - C
+ - 6: F
+ - 7: G
8: H
+ - 9: I

| + -- 12: L| | + -- 14: N
| | + -- 15: O
| | + -- 16: P
| | + -- 17: Q
| + -- 13: M
+ - 10: J
+ - 11: K
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

A mysql SQL statements, able to complete similar oracle connect by the prior, according to the parent node ID recursive query child child nodes (traverse down) has been at a lower level to 9 layer node is ok, (some parent node to traverse the child nodes with more than 10000 data)

Such as query for user_id=1 to traverse the child node

+ -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +
| user_id | user_name | user_agent_id |
+ + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - +
| | | A | 0 1
| 2 | | 1 | B
| 3 | | 1 | C
4 | | D | 2 |
5 | | E | 2 |
| | 6 F | 3 |
7 | | G | | 6
+ - + -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- - +

CodePudding user response:

Am I
Should be able to help you
  • Related