SQL聚集函数.ppt

SQL聚集函数.ppt

ID:48168834

大小:261.00 KB

页数:15页

时间:2020-01-17

SQL聚集函数.ppt_第1页
SQL聚集函数.ppt_第2页
SQL聚集函数.ppt_第3页
SQL聚集函数.ppt_第4页
SQL聚集函数.ppt_第5页
资源描述:

《SQL聚集函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、AggregateFunctionsavg:averagevaluemin:minimumvaluemax:maximumvaluesum:sumofvaluescount:numberofvaluesSQL聚集函数SUM:用于计算查询表中指定字段中所有记录值的总和Avg:用来计算特定查询字段中的一组数值的算术平均值(将全部值的总和除以值的数目Count:函数是用来计算查询表中的记录数Min:用来从查询表中返回指定字段中的最小值Max:max函数是用来从查询表中返回指定字段中的最大值SQL聚集函数sum函数 sum函数用于计算查询表中指定字段中

2、所有记录值的总和。 语法:sum(exp) 说明:该函数不计算包含Null值的字段。例:SELECTSUM(population)FROMbbc这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有国家的总人口数。SQL聚集函数avg函数Avg函数是用来计算特定查询字段中的一组数值的算术平均值(将全部值的总和除以值的数目)。 语法:avg(exp) 说明:该函数只能对数值类型的字段进行计算。例:求所有雇员薪水的平均值。SELECTAVG(emp_salary)FROMemployee;count函数 c

3、ount函数是用来计算查询表中的记录数。 语法:count(exp) 说明:count函数不计算具有Null字段的记录,但如果将exp设置为星号(*),则count函数将计算所有记录的总量,包括有Null的字段的记录。SQL聚集函数min函数 min函数是用来从查询表中返回指定字段中的最小值。 语法:min(exp)max函数 max函数是用来从查询表中返回指定字段中的最大值。 语法:max(exp)SQL聚集函数Distinct短句可以取消指定列中的重复值sql除了不允许对count(*)使用distinct,对其余情况都能用distinct

4、,但一般情况下是没有必要用的,除非你觉得的确是需要用distinct。GROUPBY子句对记录的分组是通过关键字GROUPBY实现的,GROUPBY后面跟着一个定义组的构成的属性列表。如果我们使用语句GROUPBYA1,……,Ak我们就把关系分成了组,这样当且仅当两条记录在所有属性A1,……,Ak上的值达成一致,它们才是同一组的。SQL允许我们把一个表里面的记录用GROUPBY分成组。然后上面描述的聚集操作符可以应用于这些组上(也就是说,聚集操作符的值不再是对所有声明的列的值进行操作,而是对一个组的所有值进行操作。这样聚集函数是为每个组独立地进

5、行计算的。)GROUPBY子句当在查询中没有使用GROUPBY子句时,数据库就把数据表中的所有行为作为一个组来处理。通常情况下,我们并不希望是这样的。多数用户都能理解组的概念,但在使用的时候却很快就陷入麻烦中。有一个技巧是:如果有一列在GROUPBY子句中没有提到,就必须对它进行累计。换句话说,就是必须对那些不包括在GROUPBY子句中的所有列使用上面提到过的一个函数。Note:AttributesinselectclauseoutsideofaggregatefunctionsmustappearingroupbylistGROUPBY例子这

6、是阿张名为"Sales"的表:这是条SQL:SELECTCompany,SUM(Amount)FROMSales返回的结果为:上面这些代码几乎是无效的,因为栏目所返回的数值并不属于我们想要的那种合计。使用GROUPBY子句可以解决这个问题:SELECTCompany,SUM(Amount)FROMSalesGROUPBYCompany返回的结果为:综合例子如果我们想知道每个供应商销售多少个部件,我们可以这样写查询:SELECTS.SNO,S.SNAME,COUNT(SE.PNO)FROMSUPPLIERS,SELLSSEWHERES.SNO=S

7、E.SNOGROUPBYS.SNO,S.SNAME;得到:然后我们看一看发生了什么事情。首先生成表SUPPLIER和SELLS的连接:然后我们把那些属性S.SNO和S.SNAME相同的记录放在组中:在我们的例子里,我们有四个组并且现在我们可以对每个组应用聚集操作符COUNT,生成上面给出的查询的最终结果。请注意如果要让一个使用GROUPBY和聚集操作符的查询的结果有意义,那么用于分组的属性也必须出现在目标列表中。所有没有在GROUPBY子句里面出现的属性都只能通过使用聚集函数来选择。否则就不会有唯一的数值与其它字段关联.还要注意的是在聚集上聚集

8、是没有意义的,比如,AVG(MAX(sno)),因为SELECT只做一个回合的分组和聚集.你可以获得这样的结果,方法是使用临时表或者在FROM子句中使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。