詭異的Group by函式

2021-07-10 15:30:00 字數 511 閱讀 8994

select 表2.name,count(id),管理員from 表2 where 表2.name  in ( select name from 表1 )

group by 表2.name

使用上面這個語句sql通常會報錯:

訊息 8120,級別 16,狀態 1,第 1 行

列 '表2.管理員' 在選擇列表中無效,因為該列既不包含在聚合函式中,也不包含在 group by 子句中。

而如果管理員那裡換成別的資料,比如從另乙個自定義函式出來的資料,就不會報錯了。

很神奇!

比如:select 表2.name as 姓名, count(id) as 上機次數, dbo.getnamestr(表2.name) as 管理員

from 表2

where 表2.name in ( select 表1.name from 表1 )

group by 表2.name

dbo.getnamestr()是乙個自定義函式

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...