簡體   English   中英

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

[英]oracle sql select syntax with GROUP BY and HAVING clause

我一直在通過一些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, 則它們可以按任一順序出現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM