zoukankan      html  css  js  c++  java
  • 1.4 Oracle数据库学习教程-分组

    Oracle数据库学习教程

    分组函数

    多行函数也叫组函数,作用与一组数据,并且对一组数据返回一个值.如AVG,COUNT,MAX,MIN,SUM等,操作的是一组数据,返回的是一个结果.

    
    select sum(sal) from emp;  #对指定列的各行求和
    select count(*) from emp;  #统计指定列的非空行
    select avg(sal) from emp;  #求指定列的平均值
    
    select sum(sal)/count(*) from emp;
    # 这句也是求平均值,但是有NULL值的时候情况可能不同
    
    #比如奖金,应该使用avg(comm)或sum(comm)/count(comm)
    
    

    20211005235531
    因为组函数都有滤空功能所以count(comm)只会选择有值的行

    count(distinct job):查询工种

    分组数据group by

    select 列1,列二..,组函数().. group by 列一,列二...

    注意: 在SELECT 列表中所有没有包含在组函数中的列,都必须在group by的后面出现。否则会报错.

    逻辑上很容易理解:根据选择的列来进行分组,才符合我们的目的
    20211006002327

    过滤分组 Having

    • 不能在 WHERE 子句中使用组函数(注意)。
    • 可以在 HAVING 子句中使用组函数。

    select deptno,job,avg(sal) from emp group by deptno,job having avg(sal)>2000

    20211006002750

    • where的性能更优

    本文来自博客园,作者:Ovins,转载请注明原文链接:https://www.cnblogs.com/ovins/p/15370150.html

    喜欢请点关注❤️ ❤️ ❤️
  • 相关阅读:
    设计模式(二)
    关于ICO
    js的中关于类的应用
    接口的实现顺序学习笔记[2]
    接口的继承学习笔记[1]
    设计模式(一)
    四种领域模型
    路径问题!!
    异步调用模式学习记录
    转:四人帮设计模式
  • 原文地址:https://www.cnblogs.com/ovins/p/15370150.html
Copyright © 2011-2022 走看看