GROUP BY子句和聚合函数
GROUP BY子句通常与聚合函数一起用于统计数据。
聚合函数对组执行计算并返回每个组的唯一值。比如,COUNT()函数返回每个组中的行数。
其他常用的聚合函数是:SUM(),AVG(),MIN(),MAX()。
GROUP BY子句将排列成组,聚合函数返回每个组的统计量(总数量,最小值,最大值,平均值,总和,等)。
如果要引用GROUP BY子句中未列出的任何列或表达式,则必须使用该列作为聚合函数的输入。否则,数据库系统将会提示错误,因为无法保证列或表达式将为每个组返回单个值。
这是因为Student.sage列未在GROUP BY子句中。
以下示例:
使用COUNT()查询学生的选课数:
使用SUM()查询学生的总成绩(没成绩的显示为NULL):
使用AVG()查询学生的平均成绩(没成绩的显示为NULL):
使用MAX(),MIN()查询学生成绩的最高分和最低分(没有成绩的显示为NULL):