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
原文鏈接:http://www.sysoft.top/Article.aspx?ID=3738
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/39262.html
標籤:SQL Server
