sql語句中啥什麼要用到group by?group by什麼根據什麼分組的?

時間 2021-05-31 11:36:45

1樓:小跑的人

在MYSQL中使用GROUP BY對錶中的資料進行分組時,

GROUP BY X意思是將所有具有相同X字段值的記錄放到乙個分組裡,

GROUP BY X, Y意思是將所有具有相同X字段值和Y字段值的記錄放到乙個分組裡。

X,Y的排列組合

2樓:chengzhang

GROUP BY 語句根據乙個或多個欄位對結果集進行分組(也就是把值相同放到乙個組中,顯示組中一條記錄),實現對每個組而不是對整個結果集統計。比如要統計每個部門人數。

根據需要分組,比如要統計部門人數,就需要根據部門分組,看具體需求。

你可以看一下

group by分組查詢用法

3樓:熱茶

借用一下 @柚子蘇蘇 的小朋友例子,group by 姓名,其實是指我現在要按姓名為標桿將這個表分類了,換句話說就是我現在看姓名這列,姓名一樣的就是乙個小組,按這樣劃分,整個表將分為幾個小組,分完後現在我要計算每個小朋友吃的水果數量,這裡用到聚集函式count(),我已經按姓名分類了,每個姓名所對應的水果數就可以通過count函式算出來了。

4樓:柚子蘇蘇

這個group by的問題,我之前也糾結很久,覺得別人怎麼說我都無法真正理解,最後是老闆的老闆花了2個下班時間幫我講通的,慚愧。。。

首先,可以跳出group by這個具體語句的角度思考,而去思考發明這個語句要解決的問題。

假設有這樣一張表,列舉了每個小朋友今天吃的水果。

現在,我想知道每個小朋友今天吃了幾個水果?那我最後想要的,就是這種結果

如果手動數數,你會怎麼數呢?我會先在姓名裡面找「花花」,然後數一數有幾行,有幾行就代表她吃了幾個水果,再數「泡泡」的行數,以此類推。這其實就是在分組數行數,用SQL語句表達,就是

select 姓名,count(*)

from table

group by 姓名

那如果是想知道,每個小朋友今天吃了幾種水果呢?這時候就需要不重樣地去數水果,也就是說,除了按姓名分組,還要看水果的種類,而不是簡單的行數。在數到「泡泡」的時候,我們就看到她其實是吃了兩個橙子,水果種類只有一種,用SQL語句表達,就是

select 姓名,count(distinct 水果)

from table

group by 姓名

5樓:文淵

主要用於彙總資料,比如計算平均值、最大最小值、技術以及累計值等等,而group by 後面的關鍵字就是分鐘字段,表示你用什麼字段進行彙總。比如,select max(score) as maxscore from table group by class,表示:表中資料按照「班級(class)」進行彙總,求出每個班級的彙總結果,這裡計算的是每個班級的最高分數。

6樓:

一張收入表,張三有五條記錄,李四有三條記錄,你想求他們收入的總和,就要sum,然後group by姓名,group by的意思就是按照你規定的字段來分組,多實際操作,IT技能和學校的某些學科的學習方法不一樣,先上手操作,然後再想為什麼。

7樓:invalid s

比如乙個姓名科目成績表:

group by 姓名就可以為每個學生列出其各科成績group by 科目可以為按科目列出學生成績,或者在前面的select語句裡計算單科平均分等

group by 成績可以按分數為學生分類(假如成績是5分制的話)

範圍for語句裡為什麼要用引用?

Jude Gao 問 既然如此為什麼在範圍迴圈語句中要用引用呢?其意義是什麼?答 用range for遍歷的時候,你遍歷的是元素的拷貝。每次拷貝都需要呼叫該元素型別的copy constructor。由於通常的use case中,我們不會對遍歷的元素進行更改,也就意味著copy by value的特...

工業設計什麼課程要用到電腦?

西園大大 ps ai 犀牛建模和keyshot 我買的是聯想小新air 13 pro.前三個軟體還將就用,最後乙個真的 hold不住,恨不得上網咖渲染。 dalian 我是今年剛入大學的萌新一枚,學的是工業設計。這是我們大學四年要修的所有課程 大一的時候用不到電腦,可以大二再買。個人很喜歡這個專業,...

V2X主要用到什麼技術?

1.定位技術,定位是基礎,沒有定位c v2x都無法工作。具體又包括更多方面,包括定位精度,隧道地下室定位問題等。2.蜂窩通訊技術 3.pc5直連通訊技術 4.常規嵌入式技術,比如CAN,USB,串列埠,網口等。5.v2v碰撞演算法技術 6.雲控平台,用到前後端技術 7.UI顯示,用到安卓開發技術 8...