iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 20
1
Modern Web

淺談資料庫&ASP.net&C# 入門系列 第 20

[iT鐵人賽Day20]SQL語法-GROUP BY 資料分組

GROUP BY

SQL語法中的Group by 意思就是說,欄位內的資料若有不只一筆名稱相同的資料的話,就會把它們作為群組。
然後通過使用GROUP BY,可以讓SUM和COUNT這些函式對屬於一組的資料起作用。

範例:

現在有一個Orderdetail資料表,裡面記錄了每一筆訂單所購買了些什麼產品編號個多少錢這樣。

https://ithelp.ithome.com.tw/upload/images/20190921/20119925axpsg3AOYI.png

現在要使用Group by並計算每一筆訂單的總金額是多少錢,SQL如下:

select orderID as 訂單編號 , sum(total) as 總金額 from Orderdetial group by orderID

對orderID欄位group by,將相同名稱的orderID資料合再一起,並且計算出每筆orderID的total加總。顯示結果:

https://ithelp.ithome.com.tw/upload/images/20190921/20119925Sx1Dgq0uMf.png

也可以下其他的聚合函數AVG、MAX等,例如要找出每筆訂單最貴的金額是多少XD

SQL如下:

SELECT   orderID AS 訂單編號, max(total) AS 最貴的訂單價格
FROM     Orderdetial
GROUP BY orderID

顯示結果:
https://ithelp.ithome.com.tw/upload/images/20190921/20119925CVmiveTfZG.png


上一篇
[iT鐵人賽Day19]SQL語法-常用的聚合函數 COUNT()、AVG() 、MAX() 、MIN()、 SUM()
下一篇
[iT鐵人賽Day21]SQL語法-in與not in
系列文
淺談資料庫&ASP.net&C# 入門36

尚未有邦友留言

立即登入留言