Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Consulta con el count()

Estas en el tema de Consulta con el count() en el foro de Oracle en Foros del Web. Recien empiezo en esto, Digamos tengo una tabla employees la cual tiene varias columnas y ejecuto esto: SELECT department, COUNT(*) Number of employees FROM employees ...
  #1 (permalink)  
Antiguo 22/04/2009, 13:01
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 12 años, 1 mes
Puntos: 0
Consulta con el count()

Recien empiezo en esto,

Digamos tengo una tabla employees la cual tiene varias columnas y ejecuto esto:

SELECT department, COUNT(*) Number of employees
FROM employees
WHERE salary > 25000
GROUP BY department;


Esto me vota 2 columnas una "deparment" y otra "Number of employees"
Pero yo quiero mostrar mas columnas de esa tabla como "Name", "email"... etc.
Con el fin de crear un reporte q tenga

Department | Number of employes | Nombre | email

Se que no tiene mucho sentido si es que hay agrupacion pero es lo que se quiere.
Podrian darme una mano... Recien empece con esto.

Gracias.
  #2 (permalink)  
Antiguo 22/04/2009, 15:28
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 17 años, 3 meses
Puntos: 7
Respuesta: Consulta con el count()

?? numero de empleados, nombre y email??

si metes nombre y mail al group by el departamento y numero de empleados se repetiria para cada nombre y email, y regresaria 1
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 22/04/2009, 21:50
 
Fecha de Ingreso: abril-2009
Mensajes: 10
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta con el count()

SELECT department,nombre,email, COUNT(*) Number of employees
FROM employees
WHERE salary > 25000
GROUP BY department;

asi quedaria... cualquier error me pueden corregir =P
si quieres ordenar los datos por department debes colocar el order by , osea quedari asi


SELECT department,nombre,email, COUNT(*) Number of employees
FROM employees
WHERE salary > 25000
ORDER BY department;
  #4 (permalink)  
Antiguo 23/04/2009, 02:33
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 14 años
Puntos: 43
Respuesta: Consulta con el count()

Así a bote pronto, esa query que pones no tiene ni pies ni cabeza. El group by deberia ser por department,nombre,email y el count siempre sería 1
  #5 (permalink)  
Antiguo 23/04/2009, 02:34
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Consulta con el count()

como ha dicho gigaziko no saldria el numero de empleados en total.

yo croe que podrias hacer algo asi: no se si esta bien porque no tengo nada instalado y lo he echo en el wordpad.

SELECT B.DEPARTMENO, B.EMPLEADOS, A.EMAIL, A.NAME
FROM EMPLOYEES A ,
(SELECT department, COUNT(*) Number of employees
FROM employees
WHERE salary > 25000
GROUP BY department) B
WHERE A. DEPARTAMENTO, B.DEPARTAMENTO
  #6 (permalink)  
Antiguo 27/04/2009, 09:42
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta con el count()

Si, tienen razon siempre saldria uno.
Usé la subconsulta y en lugar del * le puse el nombre del campo.
Gracias, por sus repuestas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:58.