91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql中group by如何使用

發布時間:2020-10-28 10:17:38 來源:億速云 閱讀:216 作者:小新 欄目:MySQL數據庫

小編給大家分享一下mysql中group by如何使用,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

mysql中group by的用法是配合聚合函數,利用分組信息進行統計,語句如“select name,sum(id) from test group by name,number”。

先來看下表1,表名為test:
mysql中group by如何使用
執行如下SQL語句:

SELECT name FROM test GROUP BY name

你應該很容易知道運行的結果,沒錯,就是下表2:
mysql中group by如何使用
可是為了能夠更好的理解“group by”多個列“和”聚合函數“的應用,我建議在思考的過程中,由表1到表2的過程中,增加一個虛構的中間表:虛擬表3。下面說說如何來思考上面SQL語句執行情況:

1.FROM test:該句執行后,應該結果和表1一樣,就是原來的表。

2.FROM test Group BY name:該句執行后,我們想象生成了虛擬表3,如下所圖所示,生成過程是這樣的:group by name,那么找name那一列,具有相同name值的行,合并成一行,如對于name值為aa的,那么<1 aa 2>與<2 aa 3>兩行合并成1行,所有的id值和number值寫到一個單元格里面,如下圖所示
mysql中group by如何使用
3.接下來就要針對虛擬表3執行Select語句了:

(1)如果執行select *的話,那么返回的結果應該是虛擬表3,可是id和number中有的單元格里面的內容是多個值的,那么id跟number會返回各自單元格中的排序第一個值。id列會返回1,3,5

(2)我們再看name列,每個單元格只有一個數據,所以我們select name的話,就沒有問題了。為什么name列每個單元格只有一個值呢,因為我們就是用name列來group by的。

(3)那么對于id和number里面的單元格有多個數據的情況怎么辦呢?答案就是用聚合函數,聚合函數就用來輸入多個數據,輸出一個數據的。如count(id),sum(number),而每個聚合函數的輸入就是每一個多數據的單元格。

(4)例如我們執行select name,sum(number) from test group by name,那么sum就對虛擬表3的number列的每個單元格進行sum操作,例如對name為aa的那一行的number列執行sum操作,即2+3,返回5,最后執行結果如下:
mysql中group by如何使用
5)group by 多個字段該怎么理解呢:如group by name,number,我們可以把name和number 看成一個整體字段,以他們整體來進行分組,如下圖所示:
mysql中group by如何使用
6)接下來就可以配合select和聚合函數進行操作了。如執行select name,sum(id) from test group by name,number,結果如下圖:
mysql中group by如何使用

看完了這篇文章,相信你對mysql中group by如何使用有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡南县| 班戈县| 德清县| 德惠市| 达孜县| 玉林市| 剑阁县| 临湘市| 抚宁县| 疏附县| 云安县| 吉安县| 房山区| 竹山县| 常州市| 洛浦县| 邹城市| 丹巴县| 定州市| 陆河县| 台北县| 锦州市| 绥滨县| 梅河口市| 厦门市| 东丰县| 固镇县| 姜堰市| 旌德县| 南投市| 区。| 长沙市| 鄂托克前旗| 蒲城县| 建宁县| 阿荣旗| 霍城县| 东至县| 金塔县| 乌兰浩特市| 曲靖市|