- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
聚合函数countcount〔字段〕sum〔字段〕avg〔字段〕min〔字段〕max〔字段〕
8.2.1 求和函数——SUM()
求和函数SUM( )用于对数据求和,返回选取结果集中所有值的总和。语法如下。
SELECT SUM(column_name)
FROM table_name
说明:SUM()函数只能作用于数值型数据,即列column_name中的数据必须是数值型的。
实例1 SUM函数的使用
从TEACHER表中查询所有男教师的工资总数。TEACHER表的结构和数据可参见5.2.1节的表5-1,下同。实例代码:
SELECT SUM(SAL) AS BOYSAL
FROM TEACHER
WHERE TSEX=男
运行结果如图8.1所示。
图8.1 TEACHER表中所有男教师的工资总数
实例2 SUM函数对NULL值的处理
从TEACHER表中查询年龄大于40岁的教师的工资总数。实例代码:
SELECT SUM(SAL) AS OLDSAL
FROM TEACHER
WHERE AGE=40
运行结果如图8.2所示。
图8.2 TEACHER表中所有年龄大于40岁的教师的工资总数
当对某列数据进行求和时,如果该列存在NULL值,则SUM函数会忽略该值。
8.2.2 计数函数——COUNT()
COUNT()函数用来计算表中记录的个数或??列中值的个数,计算内容由SELECT语句指定。使用COUNT函数时,必须指定一个列的名称或者使用星号,星号表示计算一个表中的所有记录。两种使用形式如下。
COUNT(*),计算表中行的总数,即使表中行的数据为NULL,也被计入在内。
COUNT(column),计算column列包含的行的数目,如果该列中某行数据为NULL,则该行不计入统计总数。
1.使用COUNT(*)函数对表中的行数计数
COUNT(*)函数将返回满足SELECT语句的WHERE子句中的搜索条件的函数。
实例3 COUNT(*)函数的使用
查询TEACHER表中的所有记录的行数。实例代码:
SELECT COUNT(*) AS TOTALITEM
FROM TEACHER
运行结果如图8.3所示。
图8.3 使用COUNT(*)函数对表中的行数计数
在该例中,SELECT语句中没有WHERE子句,那么认为表中的所有行都满足SELECT语句,所以SELECT语句将返回表中所有行的计数,结果与5.2.1节的表5-1列出的TEACHER表的数据相吻合。
如果DBMS在其系统表中存储了表的行数,COUNT(*)将很快地返回表的行数,因为这时,DBMS不必从头到尾读取表,并对物理表中的行计数,而直接从系统表中提取行的计数。而如果DBMS没有在系统表存储表的行数,将具有NOT NULL约束的列作为参数,使用COUNT()函数,则可能更快地对表行计数。
注意COUNT(*)函数将准确地返回表中的总行数,而仅当COUNT()函数的参数列没有NULL值时,才返回表中正确的行计数,所以仅当受NOT NULL限制的列作为参数时,才可使用COUNT( )函数代替COUNT(*)函数。2.使用COUNT( )函数对一列中的数据计数
COUNT( )函数可用于对一列中的数据值计数。与忽略了所有列的COUNT(*)函数不同,COUNT( )函数逐一检查一列(或多列)中的值,并对那些值不是NULL的行计数。
实例4 查询多列中所有记录的行数
查询TEACHER表中的TNO列、TNAME列以及SAL列中包含的所有数据行数。实例代码:
SELECT COUNT(TNO) AS TOTAL_TNO, COUNT(TNAME) AS TOTAL_TNAME,
COUNT(SAL) AS TOTAL_SAL
FROM TEACHER
运行结果如图8.4所示。
图8.4 使用COUNT( )函数对一列中的数据计数
可见,TNO列与TNAME列由于其中不含有NULL值,所以其计数与使用COUNT(*)函数对TEACHER表中的记录计数结果相一致,而SAL列由于其中有两行数据为NULL,所以这两列没有被计入在内,计数结果也就是8。
3.使用COUNT( )函数对多列中的数据计数
COUNT( )函数不仅可用于对一列中的数据值计数,也可以对多列中的数据值计数。如果对多列计数,则需要将要计数的多列通过连接符连接后,作为COUNT( )函数的参数。下面将结合具体的多列计数的实例,说明其使用过程。
说明关于如何使用连接符连接多列可参见本书的7.2节。实例5 使用COUNT( )函数对多列中的数据计数
统计TEACHER表中的TNO列、TNAME列和SAL列中分别包含的数据行数,以及TNO列和TNAME列、TNAME列和SAL列一起包含的数据行数。实例代码:
SELECT COUNT(TNO) AS TOTAL_TNO, COUN
您可能关注的文档
最近下载
- NB/T 47055-2017 锅炉涂装和包装通用技术条件 国家行业规范.pdf VIP
- 固体废物热值测定实验.doc VIP
- 成都市树德实验中学初一新生分班(摸底)数学模拟考试(含答案).docx VIP
- 成都电子科技大学实验中学语文新初一均衡分班试卷含答案.doc VIP
- 成都电子科技大学实验中学新初一分班语文试卷含答案.doc VIP
- 成都电子科技大学实验中学新初一分班语文试卷.doc VIP
- 成都电子科技大学实验中学新初一均衡分班语文试卷.doc VIP
- 成都电子科技大学实验中学新初一分班数学试卷含答案.doc
- 14J936变形缝建筑构造.pptx VIP
- ZrO2-III 液晶显示氧化锆氧量分析仪说明书.pdf VIP
文档评论(0)