zoukankan      html  css  js  c++  java
  • 查询时,where,group by, 聚合语句,having的区别与运用

    一般而言:

      优先级为:

        where子句 > group by > 聚合语句(sum, min, max, count, avg) > having子句

      having子句 + 聚合语句

    eg:图书(书号,类别,出版社,作者,书名,定价)

    查找这样的类别的书:该类别的最高定价不低于全部按类别分组的平均定价的2倍。

    分析: 1. “该类别”说明用group by分组

        2. “最高定价不低于全部按类别分组的平均定价的2倍”是对分组后的进一步筛选,应用having子句

        3. “最高定价”为聚合函数max,“不低于全部”为>=all,“按类别分组的平均定价的2倍”为select语句产生的一个临时表

    select *

    from 图书 A

    group by A.类别

    having max(A.定价) >= all(select 2*AVG(B.定价) from 图书 B group by B.类别)

  • 相关阅读:
    继承
    rpm使用
    weblogic报outOfMemory
    linux能访问外网但ping不通百度
    zookeeper启动异常问题
    Oracle查看表的变动信息
    Linux创建、删除软链接
    zookeeper开机自启
    linux中oracle自启动
    Weblogic命令模式安装
  • 原文地址:https://www.cnblogs.com/forstudy/p/2465076.html
Copyright © 2011-2022 走看看