0
我給出這個模式的部門:MySQL查詢發現與員工的最低平均年齡
Emp(eid: integer,ename: string,age: integer,salary: real)
Works(eid:integer,did: integer,pct_time: integer)
Dept(did:integer,budget: real,managerid:integer)
我寫此查詢列出了部門代碼與員工蠻好的平均年齡一起:
SELECT d.did AS Department, AVG(e.age) AS Average_Age
FROM Emp e, Works w, Dept d
WHERE e.eid=w.eid AND w.did=d.did
GROUP BY d.did
然而,當我嘗試做這樣的事情:
SELECT Department, MIN(Average_Age)
FROM
(
SELECT d.did AS Department, AVG(e.age) AS Average_Age
WHERE e.eid=w.eid AND w.did=d.did
GROUP BY d.did
) MyTable
它返回WRO部門編號。它僅爲該列返回0,但它返回上一個表的最小年齡。但是,年齡最小的部門ID是4.我做錯了什麼?
只是有點現有的(工作)查詢?例如。最後加入'ORDER BY Average_Age LIMIT 1'。 – eggyal 2013-03-14 20:35:45
謝謝你的作品,但你能解釋爲什麼嗎? – Watabou 2013-03-14 20:42:26
這很基本。你知道哪些元素,哪些不是? – eggyal 2013-03-14 20:43:33