查找重复值

时间:2017-05-21 08:00:57

标签: mysql

我有一张名为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);

根本不起作用(对格式感到抱歉,似乎无法使其正常工作)。

2 个答案:

答案 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()