如何仅为从事多个项目的员工显示员工姓名和正在从事的项目数量?
How to show employee name and number of projects being worked on only for employees working on multiple projects?
目前我有一个查询将显示从事多个项目的员工姓名以及他们当前从事的项目。但是我不知道如何修改它以只显示每个员工一次以及他们正在处理的项目数量。
select e.lname, w.pno
from employee e inner join works_on w on e.ssn = w.essn
where e.ssn in (select essn from works_on GROUP BY essn HAVING COUNT(essn) > 1);
如果你们能快速解释一下 why/how 它是否有效,请告诉我!
非常感谢您的帮助!
使用聚合:
select e.lname, count(*) cnt_projects
from employee e
inner join works_on w on e.ssn = w.essn
group by e.ssn, e.lname
having count(*) > 1
目前我有一个查询将显示从事多个项目的员工姓名以及他们当前从事的项目。但是我不知道如何修改它以只显示每个员工一次以及他们正在处理的项目数量。
select e.lname, w.pno
from employee e inner join works_on w on e.ssn = w.essn
where e.ssn in (select essn from works_on GROUP BY essn HAVING COUNT(essn) > 1);
如果你们能快速解释一下 why/how 它是否有效,请告诉我!
非常感谢您的帮助!
使用聚合:
select e.lname, count(*) cnt_projects
from employee e
inner join works_on w on e.ssn = w.essn
group by e.ssn, e.lname
having count(*) > 1