SELECT
MIN(q1.AvgProjCost)
FROM (SELECT
DeptNo,
AVG(projcost) as AvgProjCost
FROM projects, clinicians
WHERE clinicians.Clinicianno = projects.Clinicianno
GROUP BY DeptNo) q1
EDITED 假設我有以下的部門項目成本
Department ProjectCost
1 15
1 15
1 15
2 16
2 16
3 17
3 17
4 18
這些項目的成本將呈現以下平均
Department Average
1 15
2 16
3 17
4 18
每個部門的最低平均仍是相同的結果集。
EDITED AGAIN
如果你真的必須有最小平均每個部門,那麼這將工作
SELECT
q1.Dept,
MIN(q1.AvgProjCost)
FROM (SELECT
DeptNo,
AVG(projcost) as AvgProjCost
FROM projects, clinicians
WHERE clinicians.Clinicianno = projects.Clinicianno
GROUP BY DeptNo) q1
GROUP BY q1.Dept
不過你很快就會意識到,這個結果集是而且將永遠是相同的
SELECT
DeptNo,
AVG(projcost) as AvgProjCost
FROM projects, clinicians
WHERE clinicians.Clinicianno = projects.Clinicianno
GROUP BY DeptNo
EDITED一旦更多
爲了獲得具有最小平均項目部成本
SELECT
q1.Dept,
q1.AvgProjCost
FROM (SELECT
DeptNo,
AVG(projcost) as AvgProjCost
FROM projects, clinicians
WHERE clinicians.Clinicianno = projects.Clinicianno
GROUP BY DeptNo) q1
WHERE rownum = 1
ORDER BY AvgProjCost DESC
它是如何突破? – Bernard 2011-04-12 15:58:53
子查詢是查詢中的查詢。我不會給你答案,但是這裏有一個描述子查詢的鏈接:[在網上Tech上的Oracle子查詢] [1]。我想你會從這份任務中學到更多東西,學習如何獨立完成任務,而不是去捕捉別人的答案。 [1]:http://www.techonthenet.com/oracle/subqueries.php – scrappedcola 2011-04-12 16:00:32
@Bernard錯誤:此處不允許使用組功能。 – LunarZer0 2011-04-12 16:10:08