group by 多條件求和
2018年12月29日,學習SQL第六天了,好激動好激動,原來看都不敢看的內容,想不到已經學了6天了,感覺越來越難了,那就做一隻烏龜,一點一點學,一點一點琢磨,總會在某一時刻會感謝現在學習的自己!
一、先學習GROUP BY
1、GROUP BY 含義:
GROUP BY我們可以先從字面上來理解,GROUP表示分組,BY後面寫欄位名,就表示根據哪個欄位進行分組,如果有用Excel比較多的話,GROUP BY比較類似Excel裡面的透視表。
GROUP BY必須得配合聚合函數來用,分組之後你可以計數(COUNT),求和(SUM),求平均數(AVG)等。
2、舉例說明:三個班級的人數分別是多少?
統計人數需要用到count(),分組是按照班級做欄位。
SELECT 班級,COUNT姓名) as 班級人數 From [成績單$] GROUP BY 班級
二、多條件求和
在Excel中所使用的SQL語句具體語法結構如下:
SELECT 分類欄位1, 分類欄位2 , SUM(統計欄位) as 產品總數 From [Sheet1$] GROUP BY 分類欄位1, 分類欄位2
舉例說明:
1、每個人的產品總數。
SELECT 姓名 , SUM(產品) as 產品總數 From [案例$] GROUP BY 姓名
2、按日期統計每個人的產品數:也就是說分組是按照姓名、日期分組,產品求和
SELECT 日期, 姓名 , SUM(產品) as 產品總數 From [案例$] GROUP BY 日期, 姓名
3、按月份匯總
(1)月份的函數:month()
SELECT MONTH(日期) as 月份,SUM(產品) as 產品總數 From [案例$] GROUP BY MONTH(日期)
4、按月份統計每個人的產品數:
select month(日期) as 月份,姓名,sum(產品) as 產品總數 from [案例$] group by month(日期),姓名
最後雖然結果出來了,但不是按照姓名、日期、產品總數的順序出來,研究了半天沒研究懂為什麼?如果有哪位大神知道的話,指點一二,謝謝!
好啦,以上就是今天的分享,謝謝大家!
參考數據:EXCEL HOME論壇