文章出處

HAVING 子句

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

SQL HAVING 語法

1 SELECT column_name, aggregate_function(column_name)
2 FROM table_name
3 WHERE column_name operator value
4 GROUP BY column_name
5 HAVING aggregate_function(column_name) operator value

SQL HAVING 實例

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

O_IdOrderDateOrderPriceCustomer
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 語句:

1 SELECT Customer,SUM(OrderPrice) FROM Orders
2 GROUP BY Customer
3 HAVING SUM(OrderPrice)<2000

結果集類似:

CustomerSUM(OrderPrice)
Carter 1700

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

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

1 SELECT Customer,SUM(OrderPrice) FROM Orders
2 WHERE Customer='Bush' OR Customer='Adams'
3 GROUP BY Customer
4 HAVING SUM(OrderPrice)>1500

結果集:

CustomerSUM(OrderPrice)
Bush 2000
Adams 2000

文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()