聚集函数

数据库中以集合作为输入返回单个值的函数
聚集函数(Aggregate function)是数据库查询语言(如SQL)中的一类特殊函数,用于对数据库中的数据进行聚集计算。[2]它们通过对数据库中一组元组进行概括性分析,生成一个单一的返回值,该值反映了对数据集的总体信息。[3]
在SQL语言中,聚集函数通常嵌套在SELECT语句、ORDER BY 子句和HAVING子句中使用,同时它们也可被用于WHERE和FROM子句中。[4]聚集函数根据处理数据对象的不同,可分为基本聚集函数和分组聚集函数,在聚集空值和布尔值时面临特定挑战。基本聚集函数包括SUM、AVG、COUNT、MAX和MIN等,它们也是SQL中最为常用的聚集函数。[1]
所有聚集函数都表现出确定性,即在以特定输入值调用时,每次都会产生相同的结果。[5]基于以上特性,聚集函数被应用于多种领域,如利用其建立聚集树,可快速求得数据结果。[3]同时聚集函数可用于进行实时数据处理,展现了聚集函数在实时查询系统中的关键作用。[6]聚集函数的出现也简化了数据操作过程,提高了数据处理的准确性。[7]目前聚集函数已成为数据分析和数据库管理中不可或缺的工具。

定义

数据库中的聚集计算通常通过聚集函数的使用来实现。这些聚集函数负责审视数据库中的一组元组,对其进行概括性分析,最终生成一个返回值,该值反映了对数据集的总体信息。SQL标准规范定义了一系列常见的聚集函数,如SQL92中规定了SUM、AVG、COUNT、MAX和MIN五个基本聚集函数。除了这些标准函数外,SQL99引入了一些新的聚集函数,例如EVERY、SOME和ANY等。[3]此外,SQL-OLAP进一步扩展18个全新的聚集函数,以支持更高级的数据分析需求。[8]