Ver Mensaje Individual
  #11 (permalink)  
Antiguo 16/03/2011, 15:43
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Ayuda con Select count complejo

Hola de nuevo compañer@s...

Estuve pensando en otra solución más óptima, pues como comenta el compañero
gnzsoloyo, la primera resulta bastante complicada de implementar.

después de una buena comida jejeje, se me ocurrió que puedes hacer lo siguiente:

Código MySQL:
Ver original
  1. mysql> select CategoriaSEQ,
  2.     -> sum(5 - (D1 + D2 + D3 + D4 + D5)) total_ceros,
  3.     -> sum(D1 + D2 + D3 + D4 + D5) total_unos
  4.     -> from Ceros_unos
  5.     -> GROUP BY CategoriaSEQ;
  6. +--------------+-------------+------------+
  7. | CategoriaSEQ | total_ceros | total_unos |
  8. +--------------+-------------+------------+
  9. |            1 |          12 |          8 |
  10. |            2 |          11 |          4 |
  11. |            3 |          12 |          3 |
  12. +--------------+-------------+------------+
  13. 3 rows in set (0.00 sec)

Si observas el resultado es el mismo que el que tiene todos los if's y sumas...
Aquí estoy considerando que los campos sólo tienen ceros y unos, si no es así entonces no funcionará.

Sería cuestión de que lo revises. De cualquier manera tal y como lo comentas gnzsoloyo puedes hacerlo mediante programación, pero al tener que utilizar ciclos anidados el rendimiento puede hacerse lento, dependiendo del número de registros que contenga tu tabla. Sería cuestión de que hagas la prueba, ya sea con BD y con Programación y elijas la que tenga mejor performance.

saludos
Leo.