zoukankan      html  css  js  c++  java
  • HAVING子句

      HAVING子句用于指定对组进行过滤的谓词或逻辑表达式,这与WHERE阶段对单独的行进行过滤相对应。只有能让HAVING子句中的逻辑表达式为TRUE的组,HAVING阶段才会把这些组返回到下一个逻辑查询处理阶段。逻辑表达式计算结果为FALSE或UNKNOWN的组将被过滤掉。

      因为HAVING子句是在对行进行分组后处理的,所以可以在逻辑表达式中引用聚合函数。例如,在下面所示的代码中,HAVING子句使用了逻辑表达式COUNT(*)>1,意味着HAVING阶段过滤器只保留包含多行的组(雇员和订单年份)。

     SELECT empid,YEAR(orderdate) AS orderyear,COUNT(*) AS numorders
     FROM Sales.Orders
     WHERE custid = 71
     GROUP BY empid,YEAR(orderdate)
     HAVING COUNT(*) > 1
     ORDER BY empid,orderyear;
    

      

      前面提到GROUP BY阶段创建了16个雇员ID和订单年份组,其中有7个组只包含1行,所以在HAVING子句处理完后,只剩下9个组。

  • 相关阅读:
    JVM 体系结构
    字符集和编码
    Thinking in Java 笔记
    HSDB
    jdb
    JVM-Class文件
    JVM-操作码助记符
    表、栈和队列
    算法分析
    Shell 编程
  • 原文地址:https://www.cnblogs.com/ShaYeBlog/p/2697140.html
Copyright © 2011-2022 走看看