1.AVG ( [ ALL | DISTINCT ] expression ) :返回组中值的平均值。空值将被忽略。
2.MAX ( [ ALL | DISTINCT ] expression ) : 返回表达式的最大值。
3.MIN ( [ ALL | DISTINCT ] expression ) : 返回表达式的最小值。
4.SUM ( [ ALL | DISTINCT ] expression ) : 返回表达式中所有值的和,或只返回 DISTINCT 值。SUM 只能用于数字列。空值将被忽略。
5.BINARY_CHECKSUM ( * | expression [,...n ] ) :返回对表中的行或表达式列表计算的二进制校验值。BINARY_CHECKSUM 可用于检测表中行的更改。
6.CHECKSUM ( * | expression [,...n ] ) :返回在表的行上或在表达式列表上计算的校验值。CHECKSUM 用于生成哈希索引。
7.CHECKSUM_AGG ( [ ALL | DISTINCT ] expression ) :返回组中值的校验值。空值将被忽略。
8.STDEV ( expression ) :返回给定表达式中所有值的统计标准偏差。
9.STDEVP ( expression ) :返回给定表达式中所有值的填充统计标准偏差。
10.COUNT ( { [ ALL | DISTINCT ] expression ] | * } ) :返回组中项目的数量。
11.COUNT_BIG ( { [ ALL | DISTINCT ] expression } | * ) :返回组中项目的数量。COUNT_BIG 的使用与 COUNT 函数相似。它们之间的唯一差别是它们的返回值:COUNT_BIG 总是返回 bigint 数据类型值,而 COUNT 则总是返回 int 数据类型值。
12.VAR ( expression ) :返回给定表达式中所有值的统计方差。
13.VARP ( expression ) :返回给定表达式中所有值的填充的统计方差。
14.GROUPING ( column_name ) :它产生一个附加的列,当用 CUBE 或 ROLLUP 运算符添加行时,附加的列输出值为1,当所添加的行不是由 CUBE 或 ROLLUP 产生时,附加列值为0。
-------------------------------------------------------------------------------------------------------------------------
1.使用sum,avg,max,min:查询班级1中所有同学数学成绩的总分,平均分,最高成绩和最低成绩
2.使用count(*):查询班级1中女同学的数量
3.使用count(列):查询班级1中来自各省市的学生数
4.使用count(distinct(列)):查询班级1中的学生来自多少个省市
T-sql与结果
1.
select
c.class_nameas班级,
sum(ss.score)as总分,
avg(ss.score)as平均分,
max(ss.score)as最高成绩,
min(ss.score)as最低成绩
fromtab_studentsass
innerjointab_student_classassc
ons.stu_id=sc.stu_id
innerjointab_classesasc
onsc.class_id=c.class_id
innerjointab_student_scoreasss
ons.stu_id=ss.stu_id
innerjointab_subjectassuonss.subject_id=su.subject_id
wherec.class_name='班级1'
andsu.subject_name='数学'
groupbyc.class_name
go
2.
select
c.class_nameas班级,
count(*)as女同学数量
fromtab_studentsass
innerjointab_student_classasscons.stu_id=sc.stu_id
innerjointab_classesasconsc.class_id=c.class_id
wherec.class_name='班级1'
ands.stu_sex='女'
groupbyc.class_name
go
3.
select
class_nameas班级,
stu_birthplaceas籍贯,
count(stu_birthplace)as数量
fromtab_studentsass
innerjointab_student_classasscons.stu_id=sc.stu_id
innerjointab_classesasconsc.class_id=c.class_id
wherec.class_name='班级1'
groupbystu_birthplace,class_name
go
4.
select
count(distinct(stu_birthplace))as数量
fromtab_studentsass
innerjointab_student_classasscons.stu_id=sc.stu_id
innerjointab_classesasconsc.class_id=c.class_id
wherec.class_name='班级1'
go