使用mysql队列列出学生人数

时间:2013-04-04 12:48:28

标签: mysql sql join

我正在学习mySQL,我有点困惑我如何使用mySQL查询说...列出部门中员工的总数。

Emp(eid:integer,ename:string,age:integer,salary:real) Works(eid:integer,did:integer,pct_time:integer) 部门(做:整数,预算:真实,经理人:整数)

*这是我的书正在使用的例子,但我想我只是想问有人可以帮我讲一下使用总和函数的例子吗?或者我会完全不使用这个来说明......列出员工总数?

3 个答案:

答案 0 :(得分:1)

您需要先使用DeptWorks一起加入表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 部门。 因此,此查询将仅返回部门中员工的数量。