SQL em Oracle > DML > Funções > Funções de grupo > Cuidados com funções de grupo e cláusula GROUP BY
Cuidados com funções de grupo e cláusula GROUP BY

Se uma consulta utiliza funções de grupo e/ou a cláusula GROUP BY então entra em "modo de grupo" o que significa que na clausula SELECT o utilizador apenas pode utilizar funções de grupo ou colunas que também tenham sido incluídas na clausula GROUP BY. Isto porque não se podem misturar resultados individuais com resultados de grupo.

Suponha que quer determinar o maior salário de cada departamento usando o a consulta abaixo:

select ename, job, max(sal)
from emp
group by job;
  
select ename, job, max(sal)
       *
ERROR at line 1:
ORA-00979: not a GROUP BY expression

Suponha que quer determinar o menor salário da tabela e o respectivo departamento:

select deptno, min(sal) from emp;
select deptno, min(sal) from emp
       *
ERROR at line 1:
ORA-00937: not a single-group group function

bthome.gifTopo


Realizado por Turtle Learning ®. Última alteração em 2011-02-26