Oracle day3
学习内容
组函数
函数
分类
作用
单值函数
对一个值、或者一个列进行操作,返回一个结果
分组函数
先分组,然后对每一组进行操作,每一组数据操作后分别得到一个结果
分组函数
组函数(分组函数),是指将数据按照某列的值进行分组后,然后使用组函数分别对每个分好的小组中的数据进行处理。所以组函数一般要结合着分组关键字group来使用。
统计分析(分组主要为了统计)
分组
group by…
函数
avg…
筛选(与where类似)
having…
组函数:
avg 求平均值
count 计算有多少条数据
max 最大值
min 最小值
sum 求和
不常用:
stddev 标准差
variance 方差
语句执行顺序
where–>group by分组–>执行组函数–>having筛选->order by
组函数可以出现的位置:
1.select后面
2.having后面
3.order by后面
4.where后面一定【不能】出现组函数(因为where执行时组函数还未执行)
where与having最大的区别:(与静态非静态很像)
where后面拿不到组函数执行结果,having可以。
注意:如果select/having语句后面出现了组函数,那么select/having后面没有被组函数修饰的列,就必须出现在group by 后面。
where和having对比
where和having都是做条件筛选的
where执行的时间比having要早
where后面不能出现组函数
having后面可以出现组函数
where语句要紧跟from后面
having语句要紧跟group by后面
group by和having的关系(与if else很像)
group by可以单独存在,后面可以不出现having语句
having不能单独存在,有需要的话,必须出现在group by后面
order by语句
如果sql语句中需要排序,那么就一定要写在sql语句的最后面
order by后也可以出现组函数
使用分组函数
不结合group分组使用
注:如果不使用group分组的话,那么默认当前查询到的所有数据是一组<