如何查询sql server中最新数据的平均值

时间:2010-10-12 11:32:56

标签: sql sql-server sql-server-2008

我想找到最近x个结果的平均值。是否可以使用sql server对有限数量的结果使用聚合函数?

这是我尝试过的以及我得到的错误:

select avg(top(100) convert(float, AnalysisData))
from tab
order by DatePerformed desc
  

第15行,第1行,第1行,第1行   关键字附近的语法不正确   '顶部'。

select AVG(data)
from (
select top(100) convert(float, AnalysisData) As data
from tab
order by DatePerformed desc
);
  

Msg 102,Level 15,State 1,Line 7   ')'附近的语法不正确。

这是sql server 2008

1 个答案:

答案 0 :(得分:2)

在第二个示例中,您需要子查询的别名:

select AVG(data)
from (
    select top 100 convert(float, AnalysisData) As data
    from tab
    order by DatePerformed desc
) Top100Records;

您可能不需要100周围的括号。