我正在尝试在 MySQL 中进行复杂查询,我有以下两个表
departments employees
Id parent title id name department status
--------------------------- ------------------------------------
1 0 Health 1 abc 3 1
2 0 Sports 2 def 3 1
3 0 Education 3 ghi 5 1
4 1 Physical 4 jkl 10 1
5 1 Mental 5 kkk 6 1
6 2 Football 6 lll 6 1
7 2 Baseball 7 sss 8 1
8 2 Beachball 8 xxx 6 1
9 2 Hockey 9 yyy 6 1
10 4 ENT 10 zzz 7 1
11 0 Finance 11 mnb 11 1
部门表有四个主要部门(即:parent = 0),子部门有多个层次深度。
目前我已经通过一个PHP函数通过多次运行查询来实现这一点,但我仍然想知道这是否可以通过查询来获取它。最好的方法是什么,或者如何为每个状态为 1 的主要部门随机选择最多 3 名员工。
预期的结果应该是这样的
id name department maindep
1 abc 3 3
2 def 3 3
3 ghi 5 1
4 jkl 10 1
5 kkk 6 2
7 sss 8 2
10 zzz 7 2
11 mnb 11 11