Oracle数据库之分组统计查询

本文详细介绍了Oracle数据库中的分组统计查询,包括统计函数如count(), sum(), avg(), min(), max()的使用,以及分组操作。通过实例演示了如何按照部门、职位等进行分组统计,同时讲解了group by子句、having子句的运用以及多表查询与分组统计的结合。文章还对比了where和having子句的区别,并提供了多个实际案例来帮助理解。" 49947147,5566447,大数据初学者的Spark学习心得,"['大数据开发', 'Spark框架', 'Hadoop平台', '学习教程', 'Scala语言']
摘要由CSDN通过智能技术生成

一、分组统计查询

分组统计操作分为两个层次:统计操作、分组操作

二、统计函数(分组函数、组函数)

常用的统计函数
count()、sum()、avg()、min()、max()

  • 查询出公司的人数、平均工资、每月的总支出
select count(*) 人数,avg(sal) 平均工资,sum(sal) 总支出 from emp;

执行结果:
在这里插入图片描述

  • 查询公司的最高与最低工资
select max(sal),min(sal) from emp;

执行结果:
在这里插入图片描述

  • 查询出公司的平均服务年限
select avg(months_between(sysdate,hiredate)/12) from emp;

执行结果:
在这里插入图片描述

  • 查询公司的最早雇佣日期和最后一次雇佣日期
select min(hiredate),max(hiredate) from emp;

执行结果:
在这里插入图片描述

  • count()函数

count()函数主要功能是统计记录个数,如果表中没有数据记录则返回值为0
需要提示的是这个null和0只是在数据库的层次上,在程序执行中,null发现接受类型为整型,自动变为0;

对于count()函数有三种用法:count()、count(字段)、count(distinct 字段)
如果统计表的行数,最简单的做法就是count(
)
count(字段)是如果字段值为null,是不会进行统计的
如果在某一列上有重复的数据,而且并不想统计重复的数据这时候可以使用count(distinct 字段)

三、分组统计函数的操作

#前边数字是语句执行循序
4select [distinct] 分组字段 | 统计函数 
1from 数据表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值