Autor Tema: Group By Oracle  (Leído 15073 veces)

0 Usuarios y 1 Visitante están viendo este tema.

alexandervalladares

  • Visitante
Group By Oracle
« : abril 05, 2009, 05:53:43 pm »
Buenas Tardes A Todos, quisieran una ayuda,

SELECT COUNT(1), DEPARTMENT_ID, NAME_DEPARTMENT
FROM   EMPLOYEES, DEPARTMENT
WHERE EMPLOYEES.DEPARTMENT_ID=DEPARTMENT.DEPARTMENT_ID GROUP BY  DEPARTMENT_ID, NAME_DEPARTMENT, esta es la manera que se hace para agrupar, y lo que deseo hacer es que me diga cuantos empleados hay por departamentos, pero mi duda es como se puede agrupar de la siguiente manera
SELECT COUNT(1), DEPARTMENT_ID, NAME_DEPARTMENT
FROM   EMPLOYEES, DEPARTMENT
WHERE EMPLOYEES.DEPARTMENT_ID=DEPARTMENT.DEPARTMENT_ID GROUP BY  1, 2, en oracle no encuentro la manera de poder hacerlo, si alguien me puede ayudar con esto porfavor, lo necesito.

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: Group By Oracle
« Respuesta #1 : abril 06, 2009, 08:26:42 am »
Buenas Tardes A Todos, quisieran una ayuda,

SELECT COUNT(1), DEPARTMENT_ID, NAME_DEPARTMENT
FROM   EMPLOYEES, DEPARTMENT
WHERE EMPLOYEES.DEPARTMENT_ID=DEPARTMENT.DEPARTMENT_ID GROUP BY  DEPARTMENT_ID, NAME_DEPARTMENT, esta es la manera que se hace para agrupar, y lo que deseo hacer es que me diga cuantos empleados hay por departamentos, pero mi duda es como se puede agrupar de la siguiente manera
SELECT COUNT(1), DEPARTMENT_ID, NAME_DEPARTMENT
FROM   EMPLOYEES, DEPARTMENT
WHERE EMPLOYEES.DEPARTMENT_ID=DEPARTMENT.DEPARTMENT_ID GROUP BY  1, 2, en oracle no encuentro la manera de poder hacerlo, si alguien me puede ayudar con esto porfavor, lo necesito.

1- según mis cálculos con el primer script debes de obtener el resultado

count   DEPARTMENT_ID      NAME_DEPARTMENT
20      8                  LA PAZ   
15      1                  AHUACHAPAN


eso es la cantidad de empleados por departamento!!!


2- con el segundo script:
* es prácticamente el mismo script del primero
* no te furula porque estas agrupando por posición de columnas, y la columna 1 es el contador... debes agrupar por un campo de la tabla, por ejemplo GROUP BY 2, 3.... pero como dije antes, obtendrás el mismo resultado del primer script porque es la misma definición.
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

sevilla2009

  • Visitante
Re: Group By Oracle
« Respuesta #2 : julio 06, 2009, 10:27:46 am »
el primer  query que tienes es el correcto, lo hice asi
select count(*),E.COD_DEPTO,D.NOMDEP
from departamentos d, elector e
where D.CODDEP=E.COD_DEPTO
group by E.COD_DEPTO,D.NOMDEP
 
el resultado  que medio es siguiente
COUNT(*),COD_DEPTO,NOMDEP
1648,9,CHALATENANGO                 
3025,2,SANTA ANA                     
3924,6,SONSONATE                 
en el segundo query lo probe poniendo la parte del group by poniendo numeros me dio el siguient
e error ORA-00979: no es una expresión GROUP BY