SELECT
dnum
, SUM(IF(salary>20000, 1, 0)) AS Employee
FROM project
INNER JOIN works_on
ON pno=pnumber
INNER JOIN employee
ON dno=dnum
GROUP BY dnum HAVING COUNT(*) >2
我首先要确定每个部门是否有超过 2 名员工,如果是,则获取部门编号和员工人数。但只有那些赚高于20,000的人。
我这样做的方式,它显示了其中一个部门的正确结果,但对于其他部门,它显示了完全错误的计数。例如,对于部门 4,它显示 18,但正确的计数应该只有 6。