常用的函数:
            ·:统计个数: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;

oracle 分组查询的更多相关文章

  1. 五、Oracle 分组查询、视图

    一.分组函数1.avg:平均分2.sum:求和3.max:最大值4.min:最小值注意:前面四个必须针对数值字段,且参数只能是一个5.count:求个数 二.分组查询1.语法是 group by 分组 ...

  2. ORACLE分组查询和统计等

    select flow_id,rw from (select t.flow_id ,rownum as rw from apex_030200.wwv_flow_list_templates t)  ...

  3. oracle分组查询实例ORA-00979和ORA-00937错误分析

    select J.ZWJGH,J.CZZXBH,J.JZZT,J.CWNY,J.JZPZH sum(J.FSE)<!-- 聚合函数字段没在分组条件中--> from JZPZXX J &l ...

  4. oracle分组查询

    分组函数 在分组函数中,如果有一个查找项分组,其他项必须也分组,比如下面的语句会报错,因为sal分组了,而ename没有分组: 1.显示工资最高的员工: 2.显示所有员工的平均工资: 2.1使用系统函 ...

  5. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  6. .Net程序员学用Oracle系列(21):分组查询(GROUP BY)

    1.GROUP BY 标准分组 1.1.GROUP BY 概述 1.2.WHERE 和 HAVING 的区别? 2.GROUP BY 扩展分组 2.1.ROLLUP 分组 2.2.CUBE 分组 2. ...

  7. Oracle和MySQL分组查询GROUP BY

    Oracle和MySQL分组查询GROUP BY 真题1.Oracle和MySQL中的分组(GROUP BY)有什么区别? 答案:Oracle对于GROUP BY是严格的,所有要SELECT出来的字段 ...

  8. Oracle总结【SQL细节、多表查询、分组查询、分页】

    前言 在之前已经大概了解过Mysql数据库和学过相关的Oracle知识点,但是太久没用过Oracle了,就基本忘了...印象中就只有基本的SQL语句和相关一些概念....写下本博文的原因就是记载着Or ...

  9. 【Oracle命令 】使用的sql语句之分组查询(group by)

    由于本人并未对oracle数据库进行深入了解,但是工作中又需要知道一些基础的sql,所以记录下操作的sql语句.方便日后查看 1.将序列号作为分组查询的条件,再将查询出来的结果进行筛选. select ...

随机推荐

  1. 原生js总结

    数据类型 基本类型值包括: undefined,null,Boolean,Number和String,这些类型分别在内存中占有固定的大小空间,它们的值保存在栈空间,我们通过按值来访问的. 引用类型包括 ...

  2. 每日质量NPM包模态框_react-modal

    一.react-modal 官方定义: Accessible modal dialog component for React.JS 理解: 一个容易使用的React模态框组件 二.用法 有时候我们不 ...

  3. CentOS7下搭建LAMP+FreeRadius+Daloradius Web管理

    注意:本文所有命令均在root命令下执行. freeradius服务官网:http://freeradius.org/ daloradius Web管理页面官网:https://sourceforge ...

  4. [html]自定义滚动条风格

    webkit: <style type="text/css"> *{ margin: 0; padding: 0; } ::-webkit-scrollbar { wi ...

  5. cacheManager ABP中的缓存

    ABP的缓存是key---(key,value) 形式存储 GetCache获取到的是ICache类型   如果知道这个ICache的具体类型  可以直接强转Icache.AsTyped<int ...

  6. 力扣(LeetCode)15. 三数之和

    给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...

  7. Qt的QVariant类

    QStandardItemModel类中的函数 bool setData(const QModelIndex &index, const QVariant &value, int ro ...

  8. VC工程编译相关

    ①error C4996: 'sprintf': This function or variable may be unsafe 这不是语法的错误,而是IDE默认禁止这种容易产生漏洞的旧函数,解决的方 ...

  9. Creazy Ideas 智能汽车和智能交通

    1.现在无人驾驶靠的是摄像头监测障碍物,计算可行路线(这个结论是看到相关视频中百度无人驾驶测试中大大的摄像头推测的,非确切信息).而非像人一样对客观事物的认知学习得到障碍物的信息,如果能将AI融入进去 ...

  10. unittest单元测试简单介绍

    unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者 ...