oracle学习笔记(聚合函数以及group by 和having 的用法)

                                                                                                           今天学习了聚合函数以及group by 的用法。

      oracle的聚合函数:

count(*|列)     --- 统计列的数目 例select  count (*) from emp where empno<100;    忽略空值

avg(数值型列)---返回列的平均值(如求平均薪水)select  avg (sal ) from emp ;

sum(数值型列)-- 返回列中数值的求和

max(列)            --求列中最大的数据

min(列)            --- 求列中最小的数据

注意: 聚合函数是返回单行数据,不能直接和表中其他的列一起查询

例: select empno ,empname,count(*),avg(sal) from emp ;   --这个查询是无效的 


---group by  分组  把一列中具有相同值得数据当成一组数据进行分组,最后返回一条数据,分组函数忽略空值(隐含是升序排列的)

!注意:  如果select 语句后面有组合函数(聚合函数) 那么 select  后面的列必须是组函数或者出现在group by 中的字段。但是group by 后面加的字段可以任意


having 的用法: having 是对group by 分组之后的数据进行筛选用的,弥补where 条件查询优先级高于group by 的缺陷

优先级:where > group by > having  (为什么会有having的原因,以及having 和where  的区别) 

标准的sql 语句:

select 

from

where

group by

having 

结论:
1.WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。
2.GROUP BY 子句用来分组 WHERE 子句的输出。
3.HAVING 子句用来从分组的结果中筛选行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值