您好,登錄后才能下訂單哦!
小編給大家分享一下 SQL中GROUP BY有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在SQL中GROUP BY指的是把總數據表切割成若干子數據表,然后再對各個子數據表進行處理,比如我們需要計算下表中每個年級的人數。
grade | name | score |
---|---|---|
一年級 | 小王 | 51 |
一年級 | 小魏 | 61 |
一年級 | 小張 | 71 |
一年級 | 小李 | 51 |
一年級 | 小王 | 51 |
二年級 | 中王 | 51 |
二年級 | 中魏 | 61 |
二年級 | 中張 | 71 |
二年級 | 中李 | 51 |
二年級 | 中王 | 51 |
三年級 | 大王 | 51 |
三年級 | 大魏 | 61 |
三年級 | 大張 | 71 |
三年級 | 大李 | 51 |
三年級 | 大王 | 51 |
輸入SQL語句
SELECT grade total,COUNT(name) AS total FROM tbl GROUP BY grade;
輸入SQL語句之后的查詢結果入下表:
grade | total |
---|---|
一年級 | 5 |
三年級 | 5 |
二年級 | 5 |
我們來詳細的來看一下具體的執行過程,如下圖
首先,SQL會根據GROUP BY對總數據表進行切分(按“grade”),分成3個子表格。
然后對每個子表格的“name”字段進行COUNT AS(total)計算,再合并生成最后的數據。
同樣的道理我們還可以計算每個年級的平均分。
輸入SQL語句
SELECT grade total,avg(score) as avg FROM tbl GROUP BY grade;
結果
grade | avg |
---|---|
一年級 | 57 |
三年級 | 57 |
二年級 | 57 |
具體過程,如圖
以上是“ SQL中GROUP BY有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。