GROUP BY 與聚合函式 使用注意點

2021-06-23 08:39:05 字數 1434 閱讀 1124

表的設計:

表裡面的內容:

一:在不使用聚合函式的時候,group by 子句中必須包含所有的列,否則會報錯,如下

select name,mon from

[測試、

]group

by name

會報錯:

在子句中加上所有的列的時候

select name,mon from

[測試、

]group

by name,mon

這時候不報錯,執行結果

此時雖然成功執行了,但是可以看出來group by在這裡並沒有發揮任何的作用,我們完全可以直接select而不用group by,所以,group by子句要配合聚合函式使用,並且,在配合聚合函式使用的時候,在group by子句中不要加上聚合函式處的列名(加入as了的話)

配合聚合函式使用了的情況:

select

sum(mon),name from

[測試、

]group

by name

結果:

是我們想要的。

再如:

select

max(id),name from

[測試、

]group

by name

結果:

也是我們想要的。

但是說如果這樣的話:

select

max(id) as id,name from

[測試、

]group

by name,id

得到的結果是:

很明顯這不是我們想要的。

所以這時候在使用聚合函式的地方若是使用了as另外命名,請不要在group by子句後再加上那個令命名的名字,否則就和文章剛開始出現的情況一樣

pandas聚合函式groupby

1.groupby聚合函式彙總 min 最小值 max 最大值 sum 求和 mean 平均數 std 標準差 size 按照groupby的值計算該值的個數 與count函式的區別在於,size函式會計算nan值,而count函式不會計算nan值 count 計算個數 nunique 去掉重複值後...

group by 和 聚合函式

01.from test 該句執行後,應該結果和表1一樣,就是原來的表。02.from test group by name 該句執行後,我們想象生成了虛擬表3,如下所圖所示,生成過程是這樣的 group by name,那麼找name那一列,具有相同name值的行,合併成一行,如對於name值為a...

group by和聚合函式

原文 為什麼不能夠select from table group by id,為什麼一定不能是 而只能是某乙個列或者某個列的聚合函式,group by 多個字段可以怎麼去很好的理解呢?正文開始 先來看下表1,表名為test 表一 test 執行如下sql語句 select name from tes...