一般而言:

  优先级为:

    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.类别)

相关文章:

  • 2021-09-25
  • 2021-11-17
  • 2022-12-23
  • 2021-10-18
  • 2022-12-23
  • 2021-10-22
猜你喜欢
  • 2022-12-23
  • 2021-10-06
  • 2021-11-08
  • 2021-05-03
  • 2022-12-23
  • 2021-07-24
  • 2022-12-23
相关资源
相似解决方案