Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/01/2009, 06:56
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: duda sobre una consulta en sql

Si te he entendido bien tenemos


TablaEmpleados

Id_Empleado
NomEmpresa

luego:

Opción 1:

Código:
Select sbconsulta.NomEmpresa, sbconsulta.Empleados
    From (Select TablaEmpleados.NomEmpresa, count(*) as Empleados
                   From TablaEmpleados
                   Group by NomEmpresa) as sbconsulta
Order by sbconsulta.Empleados DESC Limit 1;
Esto nos dará la empresa con más empleados, pero si hay mas de una con el mismo numero de empleados no nos enteraremos.


Opción 2:



Código:
Select sbconsulta.NomEmpresa, sbconsulta.Empleados
From (Select TE1.NomEmpresa, count(*) as Empleados
            From TablaEmpleados as TE1
            Group by TE1.NomEmpresa) as sbconsulta
where sbconsulta.Empleados=
            ((Select max(sbconsulta1.Empleados)
               From (Select TE2.NomEmpresa,
                         count(*) as Empleados
                         From TablaEmpleados as TE2
                         Group by TE2.NomEmpresa) as sbconsulta1) as Maximo)
Order by sbconsulta.NomEmpresa;
Esto si no me he equivocado nos dará las empresas con el numero máximo de empleados por orden alfabetico.

Quim

Última edición por quimfv; 14/01/2009 a las 07:03