SQL HAVING 子句

來源:互聯網
上載者:User
文章目錄
  • SQL HAVING 文法
參考文獻

http://www.w3school.com.cn/sql/sql_having.asp

HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 關鍵字無法與合計函數一起使用

SQL HAVING 文法
SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameHAVING aggregate_function(column_name) operator value
SQL HAVING 執行個體

我們擁有下面這個 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

現在,我們希望尋找訂單總金額少於 2000 的客戶。

我們使用如下 SQL 陳述式:

SELECT Customer,SUM(OrderPrice) FROM OrdersGROUP BY CustomerHAVING SUM(OrderPrice)<2000

結果集類似:

Customer SUM(OrderPrice)
Carter 1700

現在我們希望尋找客戶 "Bush" 或 "Adams" 擁有超過 1500 的訂單總金額。

我們在 SQL 陳述式中增加了一個普通的 WHERE 子句:

SELECT Customer,SUM(OrderPrice) FROM OrdersWHERE Customer='Bush' OR Customer='Adams'GROUP BY CustomerHAVING SUM(OrderPrice)>1500

結果集:

Customer SUM(OrderPrice)
Bush 2000
Adams 2000
where與having字句的用法
  1. WHERE語句在GROUP BY語句之前,SQL會在分組之前計算WHERE語句。   
  2. HAVING語句在GROUP BY語句之後,SQL會在分組之後計算HAVING語句。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.