【问题标题】:Average Function (SQL Server)平均函数 (SQL Server)
【发布时间】:2015-08-07 14:36:32
【问题描述】:

我刚开始尝试运行一些基本的 SQL 函数。我想做一个平均功能(通过我查看过的每个网站)应该是这样的:

SELECT AVG(column_name) FROM table_name

但这对我不起作用。它总是说 AVG 是无效的列名。

还有一个额外的问题,在基本的 SELECT column_Name from table_name 格式中,我总是必须先向前输入表名,然后再返回写入列名,否则 SQL 无法识别该列。

任何帮助将不胜感激。

【问题讨论】:

    标签: sql-server average


    【解决方案1】:

    如果您在数字列上尝试SELECT AVG(column_name) FROM table_name 这个查询,那么它应该可以工作。

    第二个问题,不输入表名,SQL如何识别列名?您可以安装 Redgate SQL Toolbelt,这将有助于 SQL Server 中的 IntelliSense。

    【讨论】:

      【解决方案2】:

      如果您运行的是 Microsoft SQL Server,那么您应该能够复制以下代码并运行它。

      DECLARE @TestTable TABLE (
        SomeDate date,
        SomeValue float
      );
      
      INSERT INTO @TestTable (SomeDate, SomeValue)
        VALUES ('20150801', 15.0),
        ('20150802', 11.0),
        ('20150803', 9.0),
        ('20150804', 10.5),
        ('20150805', 17.4),
        ('20150806', 21.6),
        ('20150807', 12.3),
        ('20150808', 15.9),
        ('20150809', 18.7),
        ('20150810', 7.6);
      
      SELECT
        AVG(tt.SomeValue)
      FROM @TestTable AS tt;
      

      也许您可以更新您的标签,让我们知道您正在运行哪个SQL。如果average 功能对您不起作用,那么您可能没有正确设置table,也许其中没有数据,也许您有,... http://www.w3schools.com/sql/default.asp 是入门和了解更多关于 SQL 及其所有奥秘的好地方。在每节新学习的课程的末尾都有一个按钮“自己尝试”来做这件事。另一个很棒的地方可能是 http://sqlfiddle.com/,您可以在那里摆弄一些代码并学习新的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-09
        • 2016-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多