Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/05/2013, 14:15
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Contar numero de datos

Hola Norld:

Muchas veces en este foro hemos hablado de este tipo de consultas... te recomiendo que para la próxima te tomes unos minutos para utilizar la herramienta de búsqueda que proporciona el foro o que le preguntes a SAN GOOGLE, el generalmente tiene la respuesta.

Hay varias formas de hacer lo que quieres, si sabes los servicios que existen en tu tabla, podrías hacer algo como esto:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +---------------+------------+
  3. | aseguradora   | servicio   |
  4. +---------------+------------+
  5. | Aseguradora 1 | Servicio 1 |
  6. | Aseguradora 2 | Servicio 1 |
  7. | Aseguradora 2 | Servicio 1 |
  8. | Aseguradora 1 | Servicio 2 |
  9. +---------------+------------+
  10. 4 rows in set (0.01 sec)
  11.  
  12. mysql> SELECT
  13.     ->    aseguradora,
  14.     ->    SUM(IF(servicio = 'Servicio 1', 1, 0)) servicio_1,
  15.     ->    SUM(IF(servicio = 'Servicio 2', 1, 0)) servicio_2
  16.     -> FROM tabla
  17.     -> GROUP BY aseguradora;
  18. +---------------+------------+------------+
  19. | aseguradora   | servicio_1 | servicio_2 |
  20. +---------------+------------+------------+
  21. | Aseguradora 1 |          1 |          1 |
  22. | Aseguradora 2 |          2 |          0 |
  23. +---------------+------------+------------+
  24. 2 rows in set (0.00 sec)

Agregando un SUM-IF por cada servicio... también podrías utilizar la función GROUP_CONCAT:

Código MySQL:
Ver original
  1. mysql> SELECT aseguradora, GROUP_CONCAT('(', total, ')', servicio) total FROM
  2.     -> (
  3.     ->    SELECT aseguradora, servicio, COUNT(*) total
  4.     ->    FROM tabla GROUP BY aseguradora, servicio
  5.     -> ) T
  6.     -> GROUP BY aseguradora;
  7. +---------------+-----------------------------+
  8. | aseguradora   | total                       |
  9. +---------------+-----------------------------+
  10. | Aseguradora 1 | (1)Servicio 1,(1)Servicio 2 |
  11. | Aseguradora 2 | (2)Servicio 1               |
  12. +---------------+-----------------------------+
  13. 2 rows in set (0.03 sec)

Saludos
Leo.