有一个表members
如下所示:
| 水准仪|姓名|管理者| managedBy |
| - -----|- -----|- -----| ------------ |
| 一个|艾瑞克|||
| B|杰拉尔|一个| 1 |
| C类|亚历克西斯|2| 2 |
| 一个|乔纳森|||
| C类|多琳|2| 2 |
| B|杰伊|4| 4 |
| C类|罗宾|六| 6 |
| C类|维克托|六| 6 |
| C类|埃塞尔|六| 6 |
A级具有最高功率。A级的人不受任何人管理,他们有权管理B级的人B级人员管理C级人员。
如何编写一个SQL语句,允许计算A级的每个人有多少个C级的人,并将这个集合从最多到最少排序?
输出:
| 成员计数| memberCount |
| - -----| ------------ |
| 三个| 3 |
| 2| 2 |
谢谢你的任何建议。
1条答案
按热度按时间wooyq4lh1#
这可以使用self join来完成,如下所示:
结果:
| 成员数| membercount |
| - -----| ------------ |
| 三个| 3 |
| 2| 2 |
Demo here