group by 的理解

根據(jù)https://blog.csdn.net/weixin_42724467/article/details/89378526而來。

正文:



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

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

2.FROM test Group BY name:該句執(zhí)行后,我們想象生成了虛擬表3盒揉,如下所圖所示晋被,生成過程是這樣的:group by name,那么找name那一列刚盈,具有相同name值的行羡洛,合并成一行,如對于name值為aa的藕漱,那么<1 aa 2>與<2 aa 3>兩行合并成1行欲侮,所有的id值和number值寫到一個單元格里面。


3.接下來就要針對虛擬表3執(zhí)行Select語句了:

(1)如果執(zhí)行select *的話肋联,那么返回的結(jié)果應(yīng)該是虛擬表3威蕉,可是id和number中有的單元格里面的內(nèi)容是多個值的,而關(guān)系數(shù)據(jù)庫就是基于關(guān)系的橄仍,單元格中是不允許有多個值的韧涨,所以你看,執(zhí)行select * 語句就報錯了侮繁。

(2)我們再看name列虑粥,每個單元格只有一個數(shù)據(jù),所以我們select name的話宪哩,就沒有問題了娩贷。為什么name列每個單元格只有一個值呢,因為我們就是用name列來group by的锁孟。

(3)那么對于id和number里面的單元格有多個數(shù)據(jù)的情況怎么辦呢彬祖?答案就是用聚合函數(shù)茁瘦,聚合函數(shù)就用來輸入多個數(shù)據(jù),輸出一個數(shù)據(jù)的储笑。如cout(id)甜熔,sum(number),而每個聚合函數(shù)的輸入就是每一個多數(shù)據(jù)的單元格南蓬。

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


(5)group by 多個字段該怎么理解呢:如group by name,number窄陡,我們可以把name和number 看成一個整體字段炕淮,以他們整體來進(jìn)行分組的。如下圖

其實(shí)就是先對name進(jìn)行分組跳夭,相同的聚在同一單元格涂圆,之后再對number進(jìn)行分組!1姨尽H笄浮!

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


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贩汉,隨后出現(xiàn)的幾起案子驱富,更是在濱河造成了極大的恐慌,老刑警劉巖匹舞,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件褐鸥,死亡現(xiàn)場離奇詭異,居然都是意外死亡赐稽,警方通過查閱死者的電腦和手機(jī)叫榕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姊舵,“玉大人翠霍,你說我怎么就攤上這事〈垒海” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵零如,是天一觀的道長躏将。 經(jīng)常有香客問我锄弱,道長,這世上最難降的妖魔是什么祸憋? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任会宪,我火速辦了婚禮,結(jié)果婚禮上蚯窥,老公的妹妹穿的比我還像新娘掸鹅。我一直安慰自己,他們只是感情好拦赠,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布巍沙。 她就那樣靜靜地躺著,像睡著了一般荷鼠。 火紅的嫁衣襯著肌膚如雪句携。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天允乐,我揣著相機(jī)與錄音矮嫉,去河邊找鬼。 笑死牍疏,一個胖子當(dāng)著我的面吹牛蠢笋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鳞陨,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼昨寞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了炊邦?” 一聲冷哼從身側(cè)響起编矾,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馁害,沒想到半個月后窄俏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碘菜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年凹蜈,在試婚紗的時候發(fā)現(xiàn)自己被綠了宛篇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雕崩。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖良瞧,靈堂內(nèi)的尸體忽然破棺而出计雌,到底是詐尸還是另有隱情悄晃,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站妈橄,受9級特大地震影響庶近,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜眷蚓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一鼻种、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沙热,春花似錦叉钥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至歉秫,卻和暖如春蛾洛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雁芙。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工轧膘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人兔甘。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓谎碍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親洞焙。 傳聞我的和親對象是個殘疾皇子蟆淀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容