Ver Mensaje Individual
  #15 (permalink)  
Antiguo 15/05/2013, 11:46
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

Probaste la consulta que te puse??? funcionó o no??? con respecto al problema que mencionas, es posible que estés tratando de utilizas el nombre de campo "bajo", pero este campo no existe en la consulta que te puso Libras... prueba asignando un alias a la campos de suma:

Código:
SELECT 
  nombre, sum(bajo) bajo, sum(medio) medio, sum(alto) alto 
FROM(
....
Aunque no creo que esta consulta haga lo que pides, ya que te sumaría a nivel de columna, no a nivel de registros... pero bueno...

En cuanto a la explicación de la consulta que puse, en realidad funciona como una clasificación, es decir, clasifica en primer lugar cada registro, poniéndole un 1 para cada caso, al final simplemente cuenta el número de 1's para cada categoría... observa esta consulta, sin el SUM, se ve más claramente a lo que me refiero:

Código SQL:
Ver original
  1. SELECT potencial,
  2. CASE WHEN potencial = 'bajo' THEN 1 ELSE 0 END bajo,
  3. CASE WHEN potencial = 'medio' THEN 1 ELSE 0 END medio,
  4. CASE WHEN potencial = 'alto' THEN 1 ELSE 0 END alto,
  5. 1 total
  6. FROM tabla;
  7. +-----------+------+-------+------+-------+
  8. | potencial | bajo | medio | alto | total |
  9. +-----------+------+-------+------+-------+
  10. | bajo      |    1 |     0 |    0 |     1 |
  11. | alto      |    0 |     0 |    1 |     1 |
  12. | alto      |    0 |     0 |    1 |     1 |
  13. | alto      |    0 |     0 |    1 |     1 |
  14. | medio     |    0 |     1 |    0 |     1 |
  15. | bajo      |    1 |     0 |    0 |     1 |
  16. | bajo      |    1 |     0 |    0 |     1 |
  17. | medio     |    0 |     1 |    0 |     1 |
  18. | alto      |    0 |     0 |    1 |     1 |
  19. +-----------+------+-------+------+-------+

Al hacer la sumatoria de los 1's te da el resultado esperado... observa la columna con 1, esta te sirve para contabilizar todos los registros, sin importar el potencial.

Saludos
Leo.