欢迎投稿

今日深度:

oracle分组groupby使用方式,

oracle分组groupby使用方式,


目录
  • 1、语法
  • 2、多个列分组
  • 3、过滤分组数据
    • where和having的区别
  • 4、group by语句增强
    • 举例说明
    • rollup()函数
  • 总结

    1、语法

    在select列表中所有未包含在组函数中的列都应该包含在group by字句中

    包含在group by字句中的列不必包含在select列表中

    • 正确:
    select deptno avy(sal) from emp group by deptno;(每个部门的平均工资)
    • 错误:
    select deptno,count(ename) from emp;

    2、多个列分组

    select deptno,job sum(sal)
    from emp
    group by deptno,job
    order by 1;

    先按照第一个列分组,如果相同,再按第二个分组,以此类推

    3、过滤分组数据

    where和having的区别

    where后面不能使用多行行数

    当既可以使用where和having的时候,尽量使用where

    4、group by语句增强

    举例说明

    (1)select deptno,job sum(sal) from emp group by deptno,job;
    (2)select deptno sum(sal) from emp group by deptno;
    (3)select sum(sal) from emp;
    (4)select deptno,job sum(sal) from emp group by rollup( deptno,job);

    (1)+(2)+(3)==(4)

    rollup()函数

    group by rollup(a,b)
    
    ==
    
    group by a,b
    
    +
    
    group by a
    
    +
    
    没有group by
    • 作用:做报表
    • 设置格式:break on deptno skip 2
    • 取消格式:break on null

    select语句可以做加减运算,通过集合运算

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持PHP之友。

    您可能感兴趣的文章:
    • Oracle中分组查询group by用法规则详解
    • oracle中使用group by优化distinct
    • oracle group by语句实例测试

    www.htsjk.Com true http://www.htsjk.com/oracle/48450.html NewsArticle oracle分组groupby使用方式, 目录 1、语法 2、多个列分组 3、过滤分组数据 where和having的区别 4、group by语句增强 举例说明 rollup()函数 总结 1、语法 在select列表中所有未包含在组函数中的...
    评论暂时关闭