zoukankan      html  css  js  c++  java
  • oracle数据库GROUP BY 子句

    1.GROUP BY子句

    在SELECT 列表中所有未包含在组函数中的列都应该包含在GROUP BY 子句中.

    如下:

    SELECT deptno,AVG(sal) from emp GROUP BY deptno;(deptno为没有包含在组函数的列)

    以下查询是错误的:

    SELECT a,b,c,AVG(sal) from emp GROUP BY a,b;(c没有写在group by 后面)

    ===========================================================================================

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

    ===========================================================================================

    2.过滤分组:HAVING 子句

    使用HAVING过滤分组

    1.行已经被分组;

    2.使用了组函数;

    如:

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

    ==========================================================================================

    where 后面不能使用多行函数;

    ==========================================================================================

    GROUP BY语句的增强(主要作用:用来做报表)

    select deptno,job,sum(sal)  from emp group by deptno,job
    +

    select deptno,sum(sal) from emp group by deptno

    +

    selelct sum(sal) from emp

    ====

    select deptno,job,sum(sal) from emp group by rollup(deptno,job)

     查询出来类似于报表形式

    ===========================================================================================

    抽象:

    group by rollup(a,b)

    =

    group by a,b

    +

    group by a

    +

    没有group by

  • 相关阅读:
    Task的用法
    C# 反射调用方法
    C#常用公共方法
    Spire.Doc for .NET(1)
    C#异常Retry通用类
    Java面试中经常遇到的类执行顺序
    Tensorflow学习教程集合
    SSD——样本正负比控制+多尺度检测 (目标检测)(one-stage)(深度学习)(ECCV 2016)
    SSD算法详解 及其 keras实现
    SSD原理解读-从入门到精通
  • 原文地址:https://www.cnblogs.com/curedfisher/p/11756740.html
Copyright © 2011-2022 走看看