sql小结5

第六章 聚合函数与分组
•概述
–在查询分析的SQL中我们经常会对一些数据进行统计查询。比如统计某个班有多少个学生、全班总分多少、平均分多少、最高分是多少、最低分是多少。要实现这些数据的统计就需要要用到SQL提供的聚合函数。
•聚合函数的分类
–COUNT:统计行数量
–SUM:获取单个列的合计值
–AVG:计算某个列的平均值
–MAX:计算列的最大值
–MIN:计算列的最小值
•执行行和列计数(COUNT)
–行计数可以统计返回的结果中有多少行数据
•计数规范(*)
–* 表示统计所有行,包括NULL值。
•计数规范(ALL)
–ALL表示统计指定列所有非空值的行数。
•计数规范(DISTINCT)
–DISTINCT表示统计指定列所有非空值,且不重复数据的行数。
•返回列合计值(SUM)
–SUM函数用于统计某列数值的总和。
•获取列平均值(AVG)
AVG函数用于统计某列数值的平均值
•返回最大值和最小值(MAX/MIN)
–MAX函数返回某列中的最大值
–MIN函数返回某列中的最小值
数据分组
–分组GROUP BY子句是在WHERE条件过滤后的结果中完成,如果没有WHERE条件则直接对FROM表中的数据进行分组。
–在有分组的SQL语句中,投影的列就会有限制。要求SELECT中的列必须满足以下两个条件之一,否则就是无效的投影。
•HAVING和WHERE区别
–二者都是过滤条件,WHERE运行在分组前,因此不能执行任何聚合函数。HAVING是运行在分组后,只能用做聚合函数的过滤。
•SQL执行顺序
–第一步:执行FROM
–第二步:WHERE条件过滤
–第三步:GROUP BY分组
–第四步:执行SELECT投影列
–第五步:HAVING条件过滤
–第六步:执行ORDER BY 排序
•SQL使用COUNT函数用于对满足某种条件的行计数。
•SUM函数,用于计算一个列的合计值。它是用来执行数学合计的操作,合计的列的数据类型必须是数值型的。
•SQL中使用AVG函数获取列平均值。
•SQL中使用聚合函数MAX和MIN函数返回列的最大值和最小值。
•SQL中使用GROUP BY子句来对数据分组。当使用了ALL 关键字时查询结果将包括由 GROUP BY 子句产生的所有组,即使某些组没有符合搜索条件的行。符合过滤条件的组被聚合函数计算,不符合过滤条件的组被聚合函数计算后显示为零或者NULL。
当我们不想通过数据表中的实际值,而是通过聚合函数的结果来过滤查询结果集。这时使用HAVING子句来实现。HAVING子句放在GROUP BY子句之后,其形式为HAVING 过滤条件







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值