我正在學習mySQL,我有點困惑如何使用mySQL查詢來說...列出部門中員工的總數。使用mysql隊列來列出學生人數
的Emp(EID:整數,爲ename:字符串年齡:整數,工資:真) 作品(EID:整數,做的:整數,pct_time:整數) 部門(DID:整數,預算:真正的,經理ID:整數)
*這是我的書正在使用的例子,但我想我只是問,有人可以幫助我通過總和聚合函數來演示一個例子嗎?或者,我會完全用這個來說......列出員工總數?
我正在學習mySQL,我有點困惑如何使用mySQL查詢來說...列出部門中員工的總數。使用mysql隊列來列出學生人數
的Emp(EID:整數,爲ename:字符串年齡:整數,工資:真) 作品(EID:整數,做的:整數,pct_time:整數) 部門(DID:整數,預算:真正的,經理ID:整數)
*這是我的書正在使用的例子,但我想我只是問,有人可以幫助我通過總和聚合函數來演示一個例子嗎?或者,我會完全用這個來說......列出員工總數?
你需要加入表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
爲了進一步獲得更多的知識有關加入,請訪問以下鏈接:
你會想用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
做到這一點是最簡單的辦法簡單地用聯接:
SELECT COUNT(E.eid)
把Emp E,工程W,部門d
其中(E.eid = W.eid AND D.did = W.did);
作品表將連接兩個表一起,即的Emp和系。 因此,此查詢將僅返回部門中的員工數目。
我不確定使用別名是最好的主意,它可能會令人困惑。只是一個想法 – 2013-04-04 12:53:50