76.以 SQL 查詢資料庫時,可以使用 GROUP BY 將查詢結果區分為若干個群組,如需進一步篩選資料,必須搭配
(A)WHERE
(B)HAVING
(C)ORDER BY
(D)CHECK

答案:登入後查看
統計: A(53), B(145), C(26), D(26), E(0) #444164

詳解 (共 1 筆)

#851160

那我們如何對函數產生的值來設定條件呢?舉例來說,我們可能只需要知道哪些店的營業額有超過 $1,500。在這個情況下,我們不能使用 WHERE 的指令。那要怎麼辦呢?很幸運地,SQL 有提供一個 HAVING 的指令,而我們就可以用這個指令來達到這個目標。 HAVING 子句通常是在一個 SQL 句子的最後。一個含有HAVING 子句的 SQL 並不一定要包含 GROUP BY 子句。HAVING 的語法如下:

SELECT "欄位1", SUM("欄位2") 
FROM "表格名" 
GROUP BY "欄位1" 
HAVING (函數條件);

請讀者注意: 如果被 SELECT 的只有函數欄, 那就不需要 GROUP BY 子句。

在我們 Store_Information 表格這個例子中,

Store_Information 表格

Store_NameSalesTxn_Date
Los Angeles150005-Jan-1999
San Diego25007-Jan-1999
Los Angeles30008-Jan-1999
Boston70008-Jan-1999

若我們要找出 Sales 大於 1,500 的 Store_Name,我們就鍵入,

SELECT Store_Name, SUM(Sales) 
FROM Store_Information 
GROUP BY Store_Name
HAVING SUM(Sales) > 1500;

結果:

Store_NameSUM(Sales)
Los Angeles1800
6
0