Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/05/2013, 09:42
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: contar y filtrar en consulta my sql

Hola alvar0o0:

Tal como lo menciona Libras, en SQL Server podrías utilizar la función PIVOT, en MySQL podrías hacer sumas condicionales... observa este ejemplo:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +-----------+
  3. | potencial |
  4. +-----------+
  5. | bajo      |
  6. | alto      |
  7. | alto      |
  8. | alto      |
  9. | medio     |
  10. | bajo      |
  11. | bajo      |
  12. | medio     |
  13. | alto      |
  14. +-----------+
  15. 9 rows in set (0.00 sec)
  16.  
  17. mysql> SELECT
  18.     -> SUM(IF(potencial = 'bajo', 1, 0)) bajo,
  19.     -> SUM(IF(potencial = 'medio', 1, 0)) medio,
  20.     -> SUM(IF(potencial = 'alto', 1, 0)) alto
  21.     -> FROM tabla;
  22. +------+-------+------+
  23. | bajo | medio | alto |
  24. +------+-------+------+
  25. |    3 |     2 |    4 |
  26. +------+-------+------+
  27. 1 row in set (0.00 sec)

Este tipo de consultas también es válido para SQL Server, sólo tendrías que cambiar el IF por un CASE-WHEN:

Código SQL:
Ver original
  1. SELECT
  2.   SUM(CASE WHEN potencial = 'bajo' THEN 1 ELSE 0 END) bajo,
  3.   SUM(CASE WHEN potencial = 'medio' THEN 1 ELSE 0 END) medio,
  4.   SUM(CASE WHEN potencial = 'alto' THEN 1 ELSE 0 END) alto
  5. FROM tabla;

Saludos
Leo.