㈠聚合函数
⒈AVG ( [ALL|DISTINCT] expression)
功能:返回组中各值的平均值。将忽律空值。
ALL:对所有值进行聚合函数运算。ALL是默认值。
DISTINCT:指定AVG只在每个值的唯一实例上执行,而不管该值出现了多少次。
Expression:数值类别的表达式。
示例:
declare @a table
(
my_group varchar(50),
my_name varchar(50),
my_grade int
)
insert into @a
select 'g1','a',10 union all
select 'g1','b',20 union all
select 'g1','c',20 union all
select 'g1','d',50 union all
select 'g2','e',20 union all
select 'g2','f',60 union all
select 'g2','g',90
select my_group,avg(my_grade) avg_grade
from @a
group by my_group
结果:
my_group avg_grade
---------------------
g1 25
g2 56
⒉MIN ( [ALL|DISTINCT] expression)
功能:返回组中各值的最小值。将忽律空值。
ALL:对所有值进行聚合函数运算。ALL是默认值。
DISTINCT:指定AVG只在每个值的唯一实例上执行,而不管该值出现了多少次。DISTINCT 对于 MIN 无意义,使用它仅仅是为了符合 SQL-92。
Expression:数值类别的表达式。
示例:用上面的数值
select my_group,min(my_grade) avg_grade
from @a
group by my_group
结果:
my_group min_grade
---------------------
g1 10
g2 20
⒊MAX ( [ALL|DISTINCT] expression)
功能:返回表达式的最大值。
ALL:对所有值进行聚合函数运算。ALL是默认值。
DISTINCT:指定考虑每个唯一值。DISTINCT 对于 MAX 无意义,使用它仅仅是为了符合 SQL-92。
Expression:数值类别的表达式。
示例:
select my_group,max(my_grade) max_grade
from @a
group by my_group
结果:
g1 50
g2 90
⒋SUM ( [ALL|DISTINCT] expression)
功能:返回表达式中所有值的和或仅非重复值的和。SUM 只能用于数字列。空值将被忽略。ALL:对所有值进行聚合函数运算。ALL是默认值。
DISTINCT:指定SUM只在每个值的唯一实例上执行,而不管该值出现了多少次。。
Expression:数值类别的表达式。
select my_group,sum(my_grade) min_grade
from @a
group by my_group
结果:
g1 100
g2 170
⒌COUNT ( [ALL|DISTINCT] expression)
功能:返回表达式中所有值的和或仅非重复值的和。SUM 只能用于数字列。空值将被忽略。ALL:对所有值进行聚合函数运算。ALL是默认值。
DISTINCT:指定 COUNT 返回唯一非空值的数量。
Expression:除 text、image 或 ntext 以外任何类型的表达式。
示例:
select my_group,count(my_grade) count_grade
from @a
group by my_group
结果:
g1 4
g2 3
⒍CHECKSUM_AGG:返回组中各值的校验和
⒎STDEV:返回指定表达式中所有值的标准偏差。
⒏COUNT_BIG:返回组中的项数。与COUNT的区别是返回值为bigint。
⒐STDEVP:返回指定表达式中所有值的总体标准偏差。
⒑GROUPING:当行由 CUBE 或 ROLLUP 运算符添加时,该函数将导致附加列的输出值为 1;当行不由 CUBE 或 ROLLUP 运算符添加时,该函数将导致附加列的输出值为 0。
⒒VAR:返回指定表达式中所有值的方差。
⒓VARP:返回指定表达式中所有值的总体方差。