oracle函数之多行函数

oracle中的多行函数

组函数是处理多行返回一行,组函数不能计算空值

1、组函数

      ①:avg

      ②:count

      ③:max

      ④:min

      ⑤:stddev(求标准差)

      ⑥:sum

     注意:

      count(*)=count(1)=count(2), ()里面的值只要不是null,都是可以算一行的

      max和min可以适用于任何数据类型(number,varchar2,date),

     avg和sum只能用于number类型

    例:select  count(distict last_name) from employees;

           返回last_name不相同的个数


2、分组数据

      例:select  deparment_id,job_id,avg(salary) from employees

             from employees

             group by department_id,job_id;

      总结:分组数据中,select的字段只要不是组函数的,则必须出现在

                 group by中,否则会出错的。。。select 有的 group by 一定

                 要有,group by 有的select 不一定有。。。


3、使用组函数注意:

     ①:不能在where 子句中使用组函数

     ②:可以在 having 子句中使用组函数

     当使用组函数作为条件的时候,只需要将where换成having即可

     注意:having即可放在from后面,也可放到group by 的后面

    例:select deparment_id,avg(salary)

           from employees

           having avg(salary) >6000

           group by department_id

           order by department_id asc;


     ③:组函数可以相互嵌套

            例:select max(avg(salary))

                   from employees

                   group by department_id;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值