聚合函数和排序的SQL问题

时间:2016-12-11 23:47:36

标签: sql sql-order-by aggregate-functions

我目前正在学习SQL,到目前为止我遇到了一些问题。特别是这个:我有一个大学数据库(我们将使用一个EXAM表,但在这种情况下,这并不重要)。

我试图按照他们在决赛中的平均成绩来命令学生。 它应该是这样的:

System.Web.HttpBrowserCapabilities browser = Request.Browser;
string brw_info = "Browser Capabilities\n"
    + "Type = "                    + browser.Type + "\n"
    + "Name = "                    + browser.Browser + "\n"
    + "Version = "                 + browser.Version + "\n"
    + "Major Version = "           + browser.MajorVersion + "\n"
    + "Minor Version = "           + browser.MinorVersion + "\n"
    + "Platform = "                + browser.Platform + "\n"
    + "Is Beta = "                 + browser.Beta + "\n"
    + "Is Crawler = "              + browser.Crawler + "\n"
    + "Is AOL = "                  + browser.AOL + "\n"
    + "Is Win16 = "                + browser.Win16 + "\n"
    + "Is Win32 = "                + browser.Win32 + "\n"
    + "Supports Frames = "         + browser.Frames + "\n"
    + "Supports Tables = "         + browser.Tables + "\n"
    + "Supports Cookies = "        + browser.Cookies + "\n"
    + "Supports VBScript = "       + browser.VBScript + "\n"
    + "Supports JavaScript = "     + 
        browser.EcmaScriptVersion.ToString() + "\n"
    + "Supports Java Applets = "   + browser.JavaApplets + "\n"
    + "Supports ActiveX Controls = " + browser.ActiveXControls 
          + "\n"
    + "Supports JavaScript Version = " +
        browser["JavaScriptVersion"] + "\n";

终端抱怨"不是单一的群组功能"大部分时间,在这种情况下"无效的标识符"。根据我的理解,我不能一起使用两个聚合函数,比如

SELECT STUDENT_ID, AVG(SCORE) AS AVG_SCORE FROM EXAM GROUP BY AVG_SCORE;

为什么?如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您没有说明您正在使用的RDBMS。所以以下内容可能并不完全符合您的需求......

您不希望按page.split() ...

进行分组
AVG_SCORE

您真正想要的是按SELECT STUDENT_ID, AVG(SCORE) AS AVG_SCORE FROM EXAM GROUP BY STUDENT_ID ORDER BY AVG_SCORE 分组,以获得每位学生的平均值。

STUDENT_ID能够使用列的别名......