2012-06-18 125 views
2

我想知道如何將平均值和組在查詢樹中表示?使用avg繪製查詢樹?

我有這樣的查詢:

SELECT Stats.StuId, Stats.CrsAve 
FROM  (SELECT T.StuId, AVG(T.Grd) AS CrsAvg 
     FROM  Transcript T 
     WHERE T.Semester IN (‘F2004’, ‘S2006’) 
     GROUP BY T.StuId) AS Stats 
WHERE  Stats.CrsAvg > 3.5 

因此,模塊GROUP BY和AVG擔心我 - 他們是如何得出?

回答

1

您必須使用「平均」,而是要優化你能避免使用兩個選擇加入一個條款,「具有」查詢:

SELECT T.StuId, AVG(T.Grd) AS CrsAvg 
     FROM  Transcript T 
     WHERE T.Semester IN (‘F2004’, ‘S2006’) 
     GROUP BY T.StuId 
having AVG(T.Grd) > 3.5 

此外,還可以考慮增加相應的索引表。