今天给大家分享一下SQLServer常用的聚合函数,希望对初学者有所帮助!
返回查询记录(行)数。
格式:COUNT([ALL|DISTINCT] [表达式|*])
参数说明:
ALL:默认值,指对查询所有记录统计总数。
DISTINCT:指对查询记录去重非空记录的总数。
表达式:指除了text、image、ntext以外任何类型的表达式;
*:表示查询记录总的行数。
计算表中数值列的数据合计值。
格式:SUM([ALL|DISTINCT] 表达式)
ALL:默认值,指对查询所有记录求和。
DISTINCT:指对查询记录去重后求和。
表达式:常量、数据列、函数与算术运算的任意组合。
用法:
SELECT SUM(score) FROM T_ScoreSELECT SUM(DISTINCT score) FROM T_ScoreSELECT SUM(1+99)
返回数据列表中的平均值,NULL被忽略。
格式:AVG([ALL|DISTINCT] 列名(数值类型))
参数:ALL:表示所有不为NULL的列,DISTINCT去重的列。
用法:
SELECT AVG(Age) FROM T_User --求平均年龄SELECT AVG(DISTINCT Age) FROM T_User -- 去重之后求平均年龄
求出表中任意列中数据的最大/小值。
格式:MAX/MIN(列名)
用法:
SELECT MAX(score) FROM T_ScoreSELECT MIN(score) FROM T_Score
用法和COUNT类似,唯一的区别在于COUNT_BIG返回的值类型为bigint,COUNT返回的值类型为int。
作用:新增一个附加列。如果grouping()函数返回1则指示聚合;返回0则指示不聚合。
用法:
SELECT GROUPING(name),name from T_User GROUP BY name