我有一张名为EMPLOYEE的表
| employee_id |名字| supervisor_id |
| 123 | Ace Ven |空|
| 124 |本代理| 123 |
| 125 | Sam Marks | 123 |
| 126 | Bob Teabag | 125 |
| 127 |马修史密斯| 125 |
| 128 | Toby McQuire | 123 |
我正在努力寻找主管并列出他们拥有的员工数量。正如您所见,supervisor_id与employee_id相同。应该像这样出来
名称| total_employees |
Ace Ven | 3 |
山姆马克斯| 2 |
我试过
SELECT supervisor_id,name,count(supervisor_id)AS total_employees FROM EMPLOYEE GROUP BY name HAVING(total_employees> 0);
根本不起作用(对格式感到抱歉,似乎无法使其正常工作)。
答案 0 :(得分:0)
子查询计算每个supervisor_id的记录/员工数量,然后这个结果只是再次连接表以检索他们的名字:
select your_table.name, t.total_employees from your_table
inner join
(select supervisor_id, count(*) as total_employees from your_table where supervisor_id is not null group by supervisor_id) t
on your_table.employee_id = t.supervisor_id
答案 1 :(得分:0)
简单的连接就足够了......
plt.show()