oracle中报错不是单组分组函数怎么解决

by语法错误。如emp表中有如下数据:先要求求每个deptno下sal的总和是多少,错误语句如下:select deptno,sum(sal) from emp;报错如图:解决方法:需要将语句中的非聚合函数部分写到group by中,最后语句为:select deptno,sum(sal) from emp group by deptno;最终正确结果如图:...
oracle中报错不是单组分组函数怎么解决
oracle中报不是单组分组函数一般是group by语法错误。
如emp表中有如下数据:
先要求求每个deptno下sal的总和是多少,错误语句如下:
select deptno,sum(sal) from emp;报错如图:

解决方法:需要将语句中的非聚合函数部分写到group by中,最后语句为:
select deptno,sum(sal) from emp group by deptno;最终正确结果如图:

2017-06-26
select p.requi_form,
sum(decode(p.requi_form, '0', r.bid_amount, 0)) a,
sum(decode(p.requi_form, '1', r.bid_amount, 0)) b,
sum(decode(p.requi_form, '2', r.bid_amount, 0)) c,
sum(decode(p.requi_form, '3', r.bid_amount, 0)) d,
sum(decode(p.requi_form, '4', r.bid_amount, 0)) e,
sum(p.bid_amount) 采购金额,
sum(r.bid_amount) 招标采购金额,
sum(r.bid_amount) / sum(p.bid_amount) 招标采购率
from cg_purchase_project p,
cg_purchase_report r
where r.purc_pro_id = p.purc_pro_id
and p.purc_pro_state != 11
group by p.requi_form
order by p.bid_team;2013-08-28
在group by 后面加一个p.bid_team2013-08-30
group by 后面加上 p.requi_form2013-08-28
mengvlog 阅读 8 次 更新于 2025-06-20 00:34:32 我来答关注问题0
  •  宜美生活妙招 Oracle,SQL语句中对错误提示:不是单组分组函数的

    在Oracle和SQL语句中,错误提示“不是单组分组函数”通常是因为在SELECT语句中错误地使用了聚合函数。具体解释和解决方法如下:错误原因:当在SELECT语句中同时使用聚合函数和非聚合列,且没有正确地对非聚合列进行分组时,就会出现这个错误。在提供的示例中,MAX)的使用是不正确的,因为count本身已经是一...

  •  文暄生活科普 Oracle,SQL语句中对错误提示:不是单组分组函数的

    实际上,这里的 `MAX(count(*))` 实际上是进行了两次分组操作。第一次是对 `deptno` 进行分组,第二次是对每个部门内的所有记录计数。这可能导致误解,因为 `max()` 函数通常用于单个分组结果,而非连续的分组处理。在这个查询中,`deptno` 是单次分组,而 `count(*)` 的最大值是基于每个部门...

  •  198901245631 Oracle,SQL语句中对错误提示:不是单组分组函数的一个疑问

    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需要对应...

  • oracle中报不是单组分组函数一般是group by语法错误。如emp表中有如下数据:先要求求每个deptno下sal的总和是多少,错误语句如下:select deptno,sum(sal) from emp;报错如图:解决方法:需要将语句中的非聚合函数部分写到group by中,最后语句为:select deptno,sum(sal) from emp group by deptno;最终...

  •  frogley ora-00937 不是单分组函数

    1 select deptno,job,avg(sal)2 from emp 3 ;ERROR 位于第 1 行:ORA-00937: 非单组分组函数 其实这里也非常容易理解,既然指定了聚合函数,又同时制定了其他列,还想不按照指定的列来分组,那么到底想让oracle怎么做呢?这根本就得不出结果。就像需要统计班上男女生的人数,但是又不能分组,只能...

檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部