代码之家  ›  专栏  ›  技术社区  ›  Adam Butler

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

  •  0
  • Adam Butler  · 技术社区  · 14 年前

    我想找出最近X个结果的平均值。是否可以在有限数量的SQL Server结果上使用聚合函数?

    以下是我所尝试的以及所得到的错误:

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

    消息156,级别15,状态1,行1 关键字附近有语法错误 “顶”。

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

    消息102,15级,状态1,第7行 “)”附近的语法不正确。

    这是SQL Server 2008

    1 回复  |  直到 14 年前
        1
  •  2
  •   LittleBobbyTables - Au Revoir    14 年前

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

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

    你可能不需要括号 100 要么。