日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

秒懂mysql中的group by用法

發(fā)布時(shí)間:2023/12/14 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 秒懂mysql中的group by用法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章轉(zhuǎn)載自:https://blog.csdn.net/u014717572/article/details/80687042

先來(lái)看下表1,表名為test:

執(zhí)行如下SQL語(yǔ)句:

SELECT name FROM test GROUP BY name

你應(yīng)該很容易知道運(yùn)行的結(jié)果,沒(méi)錯(cuò),就是下表2:

可是為了能夠更好的理解“group by”多個(gè)列“和”聚合函數(shù)“的應(yīng)用,我建議在思考的過(guò)程中,由表1到表2的過(guò)程中,增加一個(gè)虛構(gòu)的中間表:虛擬表3。下面說(shuō)說(shuō)如何來(lái)思考上面SQL語(yǔ)句執(zhí)行情況:

1.FROM test:該句執(zhí)行后,應(yīng)該結(jié)果和表1一樣,就是原來(lái)的表。

2.FROM test Group BY name:該句執(zhí)行后,我們想象生成了虛擬表3,如下所圖所示,生成過(guò)程是這樣的:group by name,那么找name那一列,具有相同name值的行,合并成一行,如對(duì)于name值為aa的,那么<1 aa 2>與<2 aa 3>兩行合并成1行,所有的id值和number值寫到一個(gè)單元格里面,如下圖所示

3.接下來(lái)就要針對(duì)虛擬表3執(zhí)行Select語(yǔ)句了:

(1)如果執(zhí)行select *的話,那么返回的結(jié)果應(yīng)該是虛擬表3,可是id和number中有的單元格里面的內(nèi)容是多個(gè)值的,那么id跟number會(huì)返回各自單元格中的排序第一個(gè)值。id列會(huì)返回1,3,5

(2)我們?cè)倏磏ame列,每個(gè)單元格只有一個(gè)數(shù)據(jù),所以我們select name的話,就沒(méi)有問(wèn)題了。為什么name列每個(gè)單元格只有一個(gè)值呢,因?yàn)槲覀兙褪怯胣ame列來(lái)group by的。

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

(4)例如我們執(zhí)行select name,sum(number) from test group by name,那么sum就對(duì)虛擬表3的number列的每個(gè)單元格進(jìn)行sum操作,例如對(duì)name為aa的那一行的number列執(zhí)行sum操作,即2+3,返回5,最后執(zhí)行結(jié)果如下:

5)group by 多個(gè)字段該怎么理解呢:如group by name,number,我們可以把name和number 看成一個(gè)整體字段,以他們整體來(lái)進(jìn)行分組,如下圖所示:

6)接下來(lái)就可以配合select和聚合函數(shù)進(jìn)行操作了。如執(zhí)行select name,sum(id) from test group by name,number,結(jié)果如下圖:

總結(jié)

以上是生活随笔為你收集整理的秒懂mysql中的group by用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。