oracle中不是單組分組函式的問題

時間 2022-04-20 11:06:17

1樓:匿名使用者

select

max(auth_id)+1,

'資料一致性核查',

4,'checkconfig_add',

1,2,

null,

(select auth_id from authority_info where auth_name='資料一致性')

from

authority_info;

那個 max(auth_id)+1 有問題, 建議使用 oracle的 序列號來進行處理.

2樓:我又強力了

select 裡面不應該還有select

declare v_count integer;

begin

select count(*) into v_count from authority_info where auth_name='資料一致性核查';

if v_count=0 then

insert into authority(欄位名)select

欄位from authority_info;end if;

end;

3樓:

把max(auth_id)改成子查詢(select max(auth_id) from authority_info )

oracle,sql語句中對錯誤提示:不是單組分組函式的乙個疑問

4樓:匿名使用者

select deptno,max(count(*)) from emp group by deptno

其中max(count(*))相當於2次分組,那麼對應的select 中的其他列也需要進行2次分組,比如說:

select max(deptno),max(count(*)) from emp group by deptno

原因很簡單,sql語言就面向集合的,如果求出來max(count(*)),那麼deptno需要對應的是哪一條呢?

5樓:匿名使用者

出現「不是單組分組函式」是因為分組後只能用一些彙總的函式,不能用查詢「*」,因為非分組的值不屬於任何分組,所以就報錯了。

舉例: 通過group by進行分組後,可以通過sum進行求和,count進行數值計算。

sql:select username ,count(accountno) as count,sum(amount) as amount

from tablename group by username;

以上就可以求出username下,accountno的條數和對應的總amount。

在oracle裡 group by 分組是怎麼回事 為什麼有時候不加group by說不是單組分組函式?

6樓:

比如你選乙個表的總彙總,比如有乙個員工表,裡面有員工號,部門號,薪資。

然後你想查所有員工的總薪資,那麼使用聚合函式sum來完成,可是你想想,這個需要分組麼?返回結果只有一行,就是表所有行的彙總,所以不需要分組。

而同樣這個表,查詢每個部門的總薪資,就要按照部門分組了,因為查詢的結果是乙個部門一行。

group by肯定是要和聚合函式一起使用的,但是,使用聚合函式,未必就一定分組,因為查詢表所有行當中的彙總,或者最大,或者最小值等等,這些是不需要分組的。

7樓:匿名使用者

當你的查詢語句中有聚合函式(max,min,count,sum)時,就需要用到goup by 分組了。

oracle有關ora-00937:不是單組分組函式

8樓:匿名使用者

sum是分組函式,不能和distinct合用,實際上分組函式已經起了distinct的作用.正確的寫法是

select shop_area_code, sum(cash/100) from ... group by shop_area_code

9樓:匿名使用者

sum是聚合函式,有聚合函式需要用 group by 去分組

select shop_area_code , sum(cash/100) from ...

group by shop_area_code

不是單組分組函式

10樓:犀利的胡茬子

這裡有 你看看

我講的話可以能不權威也不全面

oracle提示錯誤不是單組分組函式

11樓:shine光明飛

count(*),這個函式需要配合group by使用,或者count全表資料。

至於怎麼改,不知道你的業務邏輯是什麼,不好確定,總之你的when後面的條件count(*)不能這麼寫。

oracle提示不是單組分組函式

12樓:大城小小樂

分組是group by ,order by 是排序,把order by 改成group by就好了,提示是因為,用sum()必須用分組函式,望採納

oracle分組函式問題

13樓:我係渣渣輝

規劃局規劃局更好擠公交

sql裡報錯,不是單組分組函式

14樓:力州

你是 想得到的是 平均工資最大的那個部門,還是各個部門的平均工資?

Oracle中的emp表是不是沒有了

emp是scott使用者下的表 查詢此表 select from scott.emp 假如說沒有emp表 手動建立emp表。可以從其他有這個表的人那裡照結構將表建立起來。沒用過orc11,所以不清楚。推薦你個工具 pl sql dev 能很方便的檢視oracle裡面的表並對其進行編輯,很方便的視覺化...

Oracle有哪些常用函式,oracle中常用的函式有哪些?

abs x 函式,此函式用來返回乙個數的絕對值。acos x 函式,返回x的反余弦值。x範圍從1到 1,輸入值從0到派,以弧度為單位。asin x 函式,返回x的反正弦值。x範圍從1到 1,輸入值從 pi 2到pi 2,以弧度為單位。atan x 函式,返回x的反正切值。輸入值從 pi 2到pi 2...

oracle中多表連線如何用,oracle 對於多個大表關聯操作如何優化速度?

以兩表為例 有以下兩張表 現在要通過deptno欄位,在查詢中顯示emp表中全部內容和dept表中的dname欄位。可用如下語句 select a.b.dname from emp a,dept b where a.deptno b.deptno 查詢結果 左連線通用寫法 select from a...

Oracle中的Connect session和process的區別及關係介紹

connect,就是客戶端到伺服器端的乙個物理連線通道。session,是oracle例項中的乙個邏輯組合id。process,是否則session的乙個程序。他們三者的關係,在這裡給你舉個例子。你打 給你爸,當兩邊 撥通時,此時叫做建立了乙個connect,然後你這邊的 機就是乙個程序,叫做客戶端...

mysql 函式中與oracle中ltrim函式功能相同的函

一 ansi字元函式 字元函式用於在sql裡以不同於儲存方式的格式來表示字串。串接就是把兩個單獨的字串組合為乙個。子串的概念就是從字串裡提取一部分。translate函式用於逐字元地把乙個字串變換為另乙個,它通常有3個引數 要被轉換的字串 要轉換的字元系列 代入字元的列表。二 常用字元函式 1 串接...