我正在学习mySQL,我有点困惑我如何使用mySQL查询说...列出部门中员工的总数。
Emp(eid:integer,ename:string,age:integer,salary:real) Works(eid:integer,did:integer,pct_time:integer) 部门(做:整数,预算:真实,经理人:整数)
*这是我的书正在使用的例子,但我想我只是想问有人可以帮我讲一下使用总和函数的例子吗?或者我会完全不使用这个来说明......列出员工总数?
答案 0 :(得分:1)
您需要先使用Dept
与Works
一起加入表LEFT JOIN
,以便在最终结果中显示所有记录(所有部门)那些没有员工的部门将列入名单,但价值为0
。
SELECT a.Did, COUNT(b.DId) TotalEmployee
FROM Dept a
LEFT JOIN Works b
ON a.Did = b.DId
GROUP BY a.Did
要进一步了解联接,请访问以下链接:
答案 1 :(得分:1)
你会想要使用SUM
,就像你说的那样。因此,您首先需要Join
表,然后获取employee_id行的SUM。
Select Emp.eid, SUM(Emp.eid) as employee_sum From, Dept.did
Emp
LEFT JOIN Works On
Emp.eid = Works.eid
INNER JOIN Dept ON
Works.did = Dept.did
Group By Emp.eid, Dept.did
答案 2 :(得分:0)
最简单的方法是简单地使用连接:
选择计数(E.eid)
来自Emp E,Works W,Dept D的
其中(E.eid = W.eid AND D.did = W.did );
作品表会将两个表链接在一起,即 Emp 和部门。 因此,此查询将仅返回部门中员工的数量。