24/05/2008, 01:14
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 9 meses Puntos: 300 | |
Respuesta: Ayuda con Count(*) La mejor forma:
SELECT SUM( if( valor
BETWEEN 5
AND 12 , 1, 0 ) ) AS entre5y12, SUM( if( valor
BETWEEN 12
AND 20 , 1, 0 ) ) AS entre12y20, SUM( if( valor
BETWEEN 20
AND 27 , 1, 0 ) ) AS entre20y27, SUM( if( valor >27, 1, 0 ) ) AS mayorque27
FROM `tabla`
otra, pero, en mi opinión, peor en principio, porque realiza varias uniones y presenta las etiquetas como contenido de campo, aunque habría que ver con los datos y con un índice aplicado:
(
SELECT "entre 5 y 12" AS etiqueta, COUNT( * ) AS dato
FROM `tabla`
WHERE valor
BETWEEN 5
AND 12
)
UNION ALL (
SELECT "entre 12 y 20", COUNT( * )
FROM `tabla`
WHERE valor
BETWEEN 12
AND 20
)
UNION ALL (
SELECT "entre 20 y 27", COUNT( * )
FROM `tabla`
WHERE valor
BETWEEN 20
AND 27
)
UNION ALL (
SELECT "mayor que 27", COUNT( * )
FROM `tabla`
WHERE valor >27
)
Última edición por jurena; 24/05/2008 a las 02:32 |