我有这样的表,其中包含id,Name,Uid,如下所示:
--------------
Id Name Uid |
1 Ram 0 |
2 Sham 1 |
3 Cam 1 |
4 Dam 2 |
5 Eam 3 |
6 Fam 4 |
7 Gam 2
----------------
这是层次结构,例如:
Ram
|
--------------
| |
Sham Cam
| |
--------- ---
| | |
Dam Gam Eam
我想要有多少个工人在“某人喜欢”下工作(在Ram 2下,人在工作)
就像Ram具有id = 1,我们将检入Uid,所有具有Uid = 1的用户都将在Ram下工作
输出:
------------------------------------------------
Id Name Count(Number of Employee Working) |
1 Ram 2 |
2 Sham 2 |
3 Cam 1 |
4 Dam 0 |
5 Eam 0 |
6 Fam 0 |
7 Gam 0 |
------------------------------------------------
答案 0 :(得分:1)
似乎您只想知道不直接遍历子树的直接子代的数量,您可以尝试:
SELECT t1.id,
t1.name,
(SELECT count(*)
FROM elbat t2
WHERE t2.uid = t1.id) count
FROM elbat t1;