- 21
- 0
- 约6.78千字
- 约 10页
- 2017-05-28 发布于河南
- 举报
聚合函数count() count(字段) 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 BOYSALFROM TEACHERWHERE TSEX=男运行结果如图8.1所示。图8.1 TEACHER表中所有男教师的工资总数实例2 SUM函数对NULL值的处理从TEACHER表中查询年龄大于40岁的教师的工资总数。实例代码:SELECT SUM(SAL) AS OLDSALFROM TEACHERWHERE 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 TOTALITEMFROM 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_SALFROM 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, COUNT(TNAME) AS TOTAL_TNAME, COUNT(SAL) AS TOTAL_SAL, COUNT(
您可能关注的文档
- 雅思议论文写作核心题目-智课教育出国考试.pdf
- RPM973-H11E2A;中文规格书,Datasheet资料.pdf
- 2012年2月9日雅思G类写作机经考题.pdf
- 微机原理及接口技术(第三章-6).ppt
- 雅思阅读长难句之实例剖析.pdf
- 保密和竟业禁止协议英文样本Sample Confidentiality and Non-compete Agreement.pdf
- 2015年10月24日雅思写作考试预测智课教育真诚奉献-智课教育出国考试.pdf
- 91年10月gre考试阅读真题解析(B)-智课教育旗下智课教育.pdf
- sun T5120安装指南.docx
- 新gre填空练习1:三空题型.pdf
原创力文档

文档评论(0)