Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/06/2012, 10:20
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: Recuperar y contar valores de una base de datos

Hola Moro 666...

Una manera de obtener lo que quieres sería con una suma condicional, listando todos los campos de tu tabla y verificando en cada caso si la columna contiene en número que estás buscando, es decir, contar cuantos 6's hay en la tabla podrías hacerlo de esta manera:

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

Otra manera sería con la misma idea que pusiste en tu post, pero agregando un UNION para cada una de las columnas de tu tabla:

Código MySQL:
Ver original
  1. mysql> SELECT COUNT(numero) FROM
  2.     -> (SELECT uno numero FROM tabla
  3.     -> UNION ALL
  4.     -> SELECT dos numero FROM tabla
  5.     -> UNION ALL
  6.     -> SELECT tres numero FROM tabla
  7.     -> UNION ALL
  8.     -> SELECT cuatro numero FROM tabla) t
  9.     -> WHERE numero = 6;
  10. +---------------+
  11. | COUNT(numero) |
  12. +---------------+
  13. |             4 |
  14. +---------------+
  15. 1 row in set (0.00 sec)

Es importante hacer UNION ALL, para que no elimine registros duplicados.

Para dudas de PHP, acude al foro de este lenguaje, este es exclusivo de MySQL.

Saludos
Leo.