在查询时还会经常碰到的是取些列的最大值、最小值、平均值等信息,有时候还需要计算出究竟查询到多少行数据项。这个时候,查询的“统计数据”是用户比较关心的,因此sqlserv er提供了“集合函数”,集合函数能够基于列进行计算,并返回单个值。
Sql server 提供了以下几个集合函数
1.1 SUM
Sum返回表达式中所有数值的总和,sum 只能用于数字类型的列,不能够汇总字符、日期等其他数据类型。
Select sum (charge) from accountbill whrere ispaid = 0 and phonenumber = ‘13701418965’
注意啦:这种查询只返回一个数值,因此,不能够直接与可能返回多行的列一起使用来进行查询。
1.2.avg
Avg 函数返回表达式中所有数值的平均值,avg函数也只能用于数字类型的列。
案例需求:查询历史账单中2008年6月份的用户平均话费。
Select avg (charge) as 平均话费 from “history-accoutbill” where accountbill between ‘2008-06-01 00:00:00’ and ‘2008-06-30 23:59:59’
注意啦:表名称如果包含了非字母,数字、下划线字符,例如减号、空格或者数据库的关键字,例如count、table等,在引用的时候请使用又引号括起来,如”history-accountbill”
1.3MAX和MIN
MAX返回表达式中的最大值,MIN 返回表达式中最小值,它们都可以用于数字型、字符型及日期/时间类型的列。
1.4Count
Count 返回表达式中空的计数,count可以用于数字和字符类型的列。
另外也可以使用星号(*)作为COUNT的表达式,使用星号可以不必指定特定的列,而计算所有行数。
Select count (*) as 欠费账单数 from accountbill where ispaid = 0
转载于:https://blog.51cto.com/wangyanjie/307514