|
知识路径: > 信息系统工程技术知识 > 计算机技术知识与网络知识 > 数据库系统 > SQL语言 > 基本表查询 >
|
相关知识点:4个
|
|
|
|
GROUP BY指定用来放置输出行的组。如果SELECT子句“目标列表达式”中包含聚合函数,则GROUP BY将计算每组的汇总值。指定GROUP BY时,选择列表中任意非聚合表达式内的所有列都应包含在GROUP BY列表中,或者GROUP BY表达式必须与选择列表表达式完全匹配。
|
|
|
如果没有GROUP BY子句,则SQL列函数应用程序返回一行数据。当使用GROUP BY时,会对每个组运用函数,所以所返回的行数与分组数相同。
|
|
|
当使用GROUP BY子句时,SQL将选出的行按照是否符合表达式的值或者是否符合某一列或多列的值进行分组。接下来,SQL处理每一组,从而为每组生成一行结果。在GROUP BY子句中,可以指定一列或多列或者表达式来对行进行分组。在SELECT语句中指定的项具有由行组成的每一组的属性,而不具备表中或视图中单个行的属性。
|
|
|
例如,EMPLOYEE表有几组行,每一组中的这些行描述了某个特定部门的成员。为了查出每个部门中人员的平均薪水,可以写这样的SQL语句:
|
|
|
|
|
如果在GROUP BY子句中指定的列为空值,则会生成只有一行的结果,行中数据为空值。也可以将行按照多列或按照表达式进行分组。例如,使用CORPDATA.EMPLOYEE表编写一条查找每个部门男性员工和女性员工平均薪水的SELECT语句。为了实现这一点,可以这样做:
|
|
|
|