Error ORA-00978: nested group function without GROUP BY como solucionarlo?

Tengo esta consulta y quiero que me de el num del departamento que tenga menos empleados pero me el siguiente Error ORA-00978: ¿nested group function without en que me equivoco?

select distinct dept_no
from empl e join dept d
on (e.empl_dept_num = d.dept_no)
where empl_nom in (select min(count(empl_nom)) from empl)
group by dept_no

1 respuesta

Respuesta

Para que la sentencia se ejecute, debes escribirla así, pero no si si el resultado será el correcto:

select distinct dept_no
from empl e join dept d
on (e.empl_dept_num = d.dept_no)
where empl_nom in (select min(count(empl_nom)) from empl group by empl_nom)
group by dept_no

Otra forma de hacerlo sería:

select empl_dept_num from (
 select empl_dept_num,count(*)
 from empl_dept_num
 group by empl_dept_num
 order by count(*)
)
where rownum = 1

y si necesitas sacar mas datos de la tabla dept, como el nombre, se podría hacer así:

select dept.dept_no /*mas columnas aquí*/ from (
 select empl_dept_num,count(*)
 from empl
 group by empl_dept_num
 order by count(*)
) consulta, dept
where dept.dept_no = consulta.empl_dept_num
and rownum = 1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas