当前位置: 首页 > news >正文

oracle 分组查询

 常用的函数:
            ·:统计个数:COUNT(),根据表中的实际数据量返回结果;
            ·:求和:SUM(),是针对于数字的统计,求和
            ·:平均值:AVG(),各种数据类型都支持
            ·:最大值:MAX(),各种数据类型都支持
            ·:最小值:MIN(),求出最小值
      范例:验证各个函数:
            select count(*) 人数,AVG(sal)员工平均工资,SUM(sal)每月总支出,
             max(sal) 最高工资,min(sal)最低工资
             from scott.emp;
      范例:统计出公司的平均雇用年限
            select  avg(months_between(sysdate,hiredate)/12) from scott.emp;
      范例:求出最早和最晚的雇佣日期
            select max(hiredate)最晚,min(hiredate)最早 from scott.emp;
      以上的几个操作函数,在表中没有数据的时候,只有CIUNT()函数会返回结果,其他都是NULL;
      范例:统计bonus表
            select count(*) 人数,AVG(sal)员工平均工资,SUM(sal)每月总支出,
             max(sal) 最高工资,min(sal)最低工资
             from bonus;
      实际上针对于count()函数有三种使用形式;
            ·count(*):可以准确的说返回表中的全部记录数;
            ·count(字段):统计不为null的所有数据量;
            ·connt(DISTINCT 字段);消除重复之后的结果;
      范例:统计查询一
            select count(*),count(empno),count(comm) from scott.emp;
            统计查询二:
            select count (DISTINCT job) from scott.emp;
  5-2:分组统计
      范例:根据部门编号分组、查询出每个部门的编号、人数、平均工资。
            select count(deptno) 编号,count(*),Avg(sal)
              from scott.emp
              group by deptno;
      范例:根据职位分组,统计出每个职位的人数,最低工资与最高工资。
            select job,count(*),min(sal),MAX(sal)
              from scott.emp
              group by job;
  5-3:多表查询与分组统计
      范例:查询出每个部门的名称、部门人数、平均工资。
        确定要使用的数据表
            dept表:部门名称
            emp表:统计数据
        确定已知的关联字段
            雇员与部门:scott.emp.deptno=scott.dept.deptno
      第一步:换个思路,查询出每个部门的名称,雇员编号(count(empno))、基本工资(AVG(sal))
              select d.ename,e.empno,e.sal
                from scott.emp e,scott.emp d
                 where e.deptno=d.deptno;
      第二步:
              select d.ename,count(e.empno),AVG(e.sal)
                 from scott.emp e,scott.emp d
                   where e.deptno=d.deptno
                   group by d.dname;
      第三部:外连接
              select d.dname,count(e.empno),AVG(e.sal)
                   from scott.emp e,scott.emp d
                     where e.deptno(+)=d.deptno
                     group by d.ename;
    范例:查询每个部门的编号、名称、位置、部门人数、平均工资;
          确定要使用的数据表
            dept表:编号、名称、位置
            emp表:统计信息
           确定已知的关联字段
              雇员与部门:scott.emp.deptno=scott.dept.deptno
                select d.deptno,d.dname,d.loc,e.empno,e.sal
                from scott.emp e, scott.dept d
                where e.deptno(+)=d.deptno;
          第二步:此时发现有三个列(dept表)同事发生着重复,呢么就可以进行多字段分组。
                select d.deptno,d.dname,d.loc,count(e.empno),avg(e.sal)
                from scott.emp e, scott.dept d
                where e.deptno(+)=d.deptno
                group by d.deptno,d.dname,d.loc;

转载于:https://www.cnblogs.com/Juvenile/p/7625328.html

相关文章:

  • 【t018】派对
  • 【t004】切割矩阵
  • idea中构建maven项目时控制台乱码的解决办法
  • 【record】10.30..11.6
  • 跳跃表原理和实现
  • 【Linux】命令——网络管理
  • python初学-元组、集合
  • 读Zepto源码之Fx模块
  • JS_dom_自定义对象
  • [CQOI 2010]扑克牌
  • 判断是否为汉字
  • 编程感悟
  • Oracle 重启监听
  • iOS 静默拍照!!!
  • 指定网卡ping另外的网卡
  • Brief introduction of how to 'Call, Apply and Bind'
  • JavaScript类型识别
  • MySQL-事务管理(基础)
  • mysql外键的使用
  • Node 版本管理
  • text-decoration与color属性
  • Vue.js源码(2):初探List Rendering
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • Webpack 4 学习01(基础配置)
  • WebSocket使用
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 闭包--闭包之tab栏切换(四)
  • 给新手的新浪微博 SDK 集成教程【一】
  • 工作中总结前端开发流程--vue项目
  • 欢迎参加第二届中国游戏开发者大会
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 仓管云——企业云erp功能有哪些?
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​flutter 代码混淆
  • # include “ “ 和 # include < >两者的区别
  • (第二周)效能测试
  • (二)正点原子I.MX6ULL u-boot移植
  • .bat批处理出现中文乱码的情况
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET文档生成工具ADB使用图文教程
  • /var/log/cvslog 太大
  • :中兴通讯为何成功
  • @RequestParam详解
  • @synthesize和@dynamic分别有什么作用?
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • [].slice.call()将类数组转化为真正的数组
  • [20161214]如何确定dbid.txt
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [Android] Amazon 的 android 音视频开发文档
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务