INSERT 報 不是Group by 表示式

2021-08-08 17:58:36 字數 575 閱讀 8572

今天在插入資料時,發下如下sql 死活報錯

insert

into test

select psnid,

sum(f1)

from psn

inner

join (select

max(year) lastyear, psnid

from wagedata t

group

by psnid) tmp

on psn.psnid = tmp.psnid

group

by psn.psnid

錯誤提示是: 不是group by 表示式

但是同樣的sql 在本人本機oracle上可以執行

經過對比,發現本機的oracle版本是 11.2.0.1.0 而客戶的oracle版本為11.2.0.4.0

最開始以為是bug

後來發現 將sql中的這個tmp的結果集 替換為了一張資料相同的表 ,就能夠正常查詢了。

至於算不算是bug 就不好說了,不過這算是11.2.0.1.0 與11.2.0.4.0 的一點差異吧

INSERT報錯提示不是Groupby表示式的問題

今天在插入資料時,發下如下sql 死活報錯 insert into test select psnid,sum f1 from psn inner join select max year lastyear,psnid from wagedata t group by psnid tmp on ps...

報錯 不是GROUP BY 表示式

oracle庫中 group by後面必須加上你select後面所查詢的所有除聚合函式之外的所有字段。解決方法 將group by放入子查詢中使用或者將select後面的所有查詢字段放入group by 後。報錯 不是group by 表示式 例項 select sum hwjz rq from j...

ORA 00979 不是 GROUP BY 表示式

使用聚合函式中用group by來分組資料時特別說明了select 列表項中不存在的列可以出現在group by的列表項中,但反過來就不行了,在select列表項 現的列必須全部出現在group by後面 聚合函式除外 但一些朋友經常愛把select 列表項的中列忘了寫在group by中。於是就出...