iT邦幫忙

2021 iThome 鐵人賽

DAY 19
1
自我挑戰組

菜鳥大學生資料庫學習記系列 第 19

Day 19 -HAVING 子句!

  • 分享至 

  • xImage
  •  

HAVING 子句是用來取代 WHERE 搭配聚合函數 (aggregate function) 進行條件查詢,因為 WHERE 不能與聚合函數一起使用。

聚合函數指的也就是 AVG()、COUNT()、MAX()、MIN()、SUM() 等這些內建函數。

HAVING 語法 (SQL HAVING Syntax)

SELECT column_name(s), aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name1, column_name2...
HAVING aggregate_function(column_name) operator value;

HAVING 子句 實例解說

假設我們想從下面的 ORDER 資料表中查詢訂單金額總合大於 100 的顧客:

訂單資料表(ORDER)

訂單編號(Primary Key) 顧客編號 商品名稱 價格 日期
01 01 漢堡 70 2021-01-03
02 02 薯條 50 2021-05-15
03 04 可樂 40 2021-11-01
04 04 拉麵 230 2021-12-12
05 04 雞塊 50 2021-12-12
06 06 饅頭 20 2021-12-31

我們可以下這個 SELECT 查詢敘述句:

SELECT 顧客編號, SUM(價格) FROM ORDER
GROUP BY 顧客編號
HAVING SUM(價格) >100;

返回的結果如下:

顧客編號 SUM(價格)
04 230

下篇見


上一篇
Day 18 -SQL 函數 SUM()!
下一篇
Day 20 -SQL 函數 COUNT()!
系列文
菜鳥大學生資料庫學習記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言