我试图了解问题的根源,但我需要帮助...
employee table's columns: employee_id, name, manager_id
既然员工可以成为其他经理,那么我该如何计算经理的下属呢?
我的想法
employee table corresponding to the stated columns
A1 : Ant : C1
B1 : Bird : D1
C1 : Cat : E1
D1 : Dog : C1
E1 : Elephant :B1
那么查询或查询到的显示应该如何像以经理姓名作为第一列来计算经理的下属?
答案 0 :(得分:0)
如果您只想计算每个经理的下属人数,请使用group by "manager_id"
和count(*)
获取编号,然后加入表格以获取经理的姓名:
select e."name", m.counter
from (
select "manager_id", count(*) counter
from employee
group by "manager_id"
) m inner join employee e
on e."employee_id" = m."manager_id"
请参见demo。
结果:
> name | COUNTER
> :------- | ------:
> Bird | 1
> Cat | 2
> Dog | 1
> Elephant | 1