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