使用avg绘制查询树?

时间:2012-06-18 01:19:20

标签: sql database

我想知道如何在查询树中表示avg和group?

我有这样的查询:

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 个答案:

答案 0 :(得分: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

此外,您可以考虑向表中添加适当的索引。