SELECT MAX ..... ORA-00937

SELECT
MAX(AA)
FROM
TBL
WHERE
BB= :bb AND
CC= :cc
这个SQL报错, ORA-00937: 不是单组分组函数,ORACLE数据库,请问该如何写?

一般来说,如果出现上述“ORA-00937: 非单组分组函数”的错误是因为select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,否则语法通不过。
如:select deptno,job,avg(sal) from emp group by deptno,job;(正确)
select deptno,job,avg(sal) from emp(错误)。
但看你的sql语句应该不会有错吧。你再确认一下。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-04
SELECT MAX(AA) aa FROM TBL t WHERE BB="bb" AND CC="cc"
先这样试试本回答被提问者采纳

SELECT MAX ... ORA-00937
一般来说,如果出现上述“ORA-00937: 非单组分组函数”的错误是因为select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,否则语法通不过。如:select deptno,job,avg(sal) from emp group by deptno,job;(正确)select deptno,job,avg(sal) from emp(错误)。...

Oracle(知识碎片)|ORA-00937
ORA-00937错误提示意味着“非单组函数”。此错误发生在使用了聚合函数(如COUNT(), SUM(), MAX(), MIN(), AVG()等)之后又直接接了表结构本身的字段,却未使用group by分组。错误的根本原因在于SQL查询语句中存在既直接访问表结构字段,又应用了聚合函数的字段,而没有进行分组操作。SQL聚合函数的...

ora-00937错误疑问
ORA-00937: 非单组分组函数 max()函数一般同group by一起使用。但是照这个语句看,语法是正确的,我在自己环境也测试了,没什么问题。至于为什么会这样,不是太清楚了、

ora-00937 不是单分组函数
select 列表项中除了包含聚合函数外,还包含了表的某些列,那么将必须使用group by语句,否则语法通不过。例如:SQL> 1 select deptno,job,avg(sal)2 from emp 3 ;ERROR 位于第 1 行:ORA-00937: 非单组分组函数 其实这里也非常容易理解,既然指定了聚合函数,又同时制定了其他列,还想不按照指定的...

oracle有关ORA-00937:不是单组分组函数
sum是分组函数,不能和distinct合用,实际上分组函数已经起了distinct的作用.正确的写法是 select shop_area_code, sum(cash\/100) from ... group by shop_area_code

select max(sal),min(sal),deptno,empno from emp order by deptno d...
改成 select max(sal),min(sal),deptno,empno from emp group by deptno, empno order by deptno desc,empno desc 你要查询的是部门的最高和最低吗?你写的查询有问题

sql ora-00937异常 请高手过目
SELECT to_char(sttime, 'yyyy-mm-dd') AS NEWSTTIME,count(case Status when 0 then Status end) s1,count(case Status when 1 then Status end) s2 FROM TIME_MONITOR GROUP BY to_char (sttime,'yyyy-mm-dd')order by NEWSTTIME;

oracle ORA-00937: 非单组分组函数
直接在后面加 group by条件,eg:select (select count(*) from a), count(*), (select count(*) from c) from b group by 1;

...count(*) from ...提示oracle有关ORA-00937:不是单组分组函数 有啥...
select col1,col2,count(*)from table group by col1,col2

oracle 分组函数里可以嵌套吗?
select id,sum(salary) from t1 * ERROR at line 1: ORA-00937: not a single-group group function www.2cto.com 这是很容易理解的,id(编号)列有10行数据,而SUM(salary)只有一行结果。一个10行,一个只有一行,Oracle没办法将这两个列组合在一起。列可以和单行函数组合使用,因为单行函数每一行都返回一个...

相似回答
大家正在搜