T-SQL平均功能 - 计算52行数据

时间:2010-09-20 14:31:26

标签: tsql sql-server-2008 average

我需要帮助编写select语句,该语句将执行最近52行数据的平均值。

如果少于52行,它将只执行有多少行的平均值。

我知道SQL中的avg函数会跳过null ...但我到目前为止。

SELECT AVG(E.Interest)
from InterestRates E
Where Interest in (select COUNT(Interest) <=52 from InterestRates)

我希望每行数据返回并计算平均52行 感谢

2 个答案:

答案 0 :(得分:7)

试试这个:

SELECT AVG(Interest) AS AvgInterest
FROM (
    SELECT TOP 52 E.Interest
    FROM InterestRates E
    ORDER BY DateEntered DESC
) Top52Interests

修改

根据评论,您可以通过身份订购:

SELECT AVG(Interest) AS AvgInterest
FROM (
    SELECT TOP 52 E.Interest
    FROM InterestRates E
    ORDER BY YourIdentityField DESC
) Top52Interests

好消息是这个查询也可以在SQL 2000中运行。

答案 1 :(得分:0)

选择 AVG(E.Interest) 从
利息率E. 哪里 ROWNUMBER()&lt; = 52 订购任何DESC;