当前位置: 首页 > 面试题库 >

使用GROUP BY和HAVING子句的oracle sql select语法

夹谷野
2023-03-14
问题内容

我一直在通过一些sql语法来学习oracle sql考试,但发现有些令人困惑

根据官方参考,选择语法如下:

SELECT
    [ hint ]
    [ { { DISTINCT | UNIQUE } | ALL } ]
   select_list
     FROM { table_reference | join_clause | ( join_clause ) }
            [ , { table_reference | join_clause | (join_clause) } ] ...
     [ where_clause ]
     [ hierarchical_query_clause ]
     [ group_by_clause ]
     [ HAVING condition ]
     [ model_clause ]

基于此,您不能在GROUP BY子句之前有HAVING子句。但是,如果我要在测试服务器中执行以下sql:

select 
   department_id , count (*)      
from 
    employees 
having 
    count(*) > 6 
group by 
    department_id ;

它不会产生语法错误,有人可以帮忙解释一下吗?我不认为参考文档是错误的,但是如果是这样,我需要一些确认。


问题答案:

如前所述这里:

使用HAVING子句将返回的行的组限制为指定条件为TRUE的组。如果省略此子句,则数据库将返回所有组的摘要行。

在where_clause和hierarchical_query_clause之后指定GROUP BY和HAVING。如果同时指定GROUP
BY和HAVING, 则它们可以按任一顺序出现。



 类似资料:
  • 我试图通过下面的SQL语句删除一些记录,但得到错误附近使用的正确语法: 有没有人知道我怎么解决错误? 我还尝试了下面的句子,在那里我得到了这个错误)附近使用的正确语法: 上面的句子在表中查找nobody ecxept本身未使用的行,该表将表链接到主表。 为了上述问题,我尝试上面的但我得到以下错误中指定目标表“TA_”以进行更新: 最后尝试了双重包装,但也不起作用,这是错误附近使用的正确语法:

  • 主要内容:语法,实例HAVING 子句允许指定条件来过滤将出现在最终结果中的分组结果。 WHERE 子句在所选列上设置条件,而 HAVING 子句则在由 GROUP BY 子句创建的分组上设置条件。 语法 下面是 HAVING 子句在 SELECT 查询中的位置: 在一个查询中,HAVING 子句必须放在 GROUP BY 子句之后,必须放在 ORDER BY 子句之前。下面是包含 HAVING 子句的 SELECT

  • 主要内容:Oracle HAVING子句简介,Oracle HAVING子句的例子在本教程中将学习如何使用Oracle 子句过滤由子句返回分组。 Oracle HAVING子句简介 子句是SELECT语句的可选子句。它用于过滤由GROUP BY子句返回的行分组。 这就是为什么子句通常与子句一起使用的原因。 以下说明了Oracle子句的语法: 在这个语句中,子句紧跟在子句之后。如果使用不带子句的子句,则子句将像WHERE子句那样工作。 请注意,子句过滤分组的行,而子句过滤行。这是

  • HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。 HAVING 子句可以让我们筛选分组后的各组数据。 SQL HAVING 语法SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP

  • 问题内容: 我正在尝试使用一个简单的已提交字段在MySQL中获取记录。更准确地说,用户输入名称(名字或姓氏或全名),服务器应返回匹配的行。 到目前为止,我正在做的事情是这样的: 暂时可以正常工作,但是(显然)当用户提交全名时,该方法将无法正常工作。有没有办法在整个“ WHERE类型条件”和“ HAVING类型条件”之间添加OR?这样,我可以做类似的事情: 我知道我可以拆分原始字符串,但这会产生一些

  • 主要内容:标准Having示例HAVING子句与GROUP BY子句一起用于过滤表中的数据。 在Criteria API中,Abstract接口的方法用于设置分组数据的条件。 标准Having示例 在这里,我们将在表上执行多个操作。假设该表包含以下记录 - 现在,请按照以下步骤执行操作: - 第1步: 创建一个实体类。在包下创建了类文件。 该类包含三个属性:,,以及所有必需的注解。 文件:StudentEntity.java