Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/06/2011, 14: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: agrupar por numparada

Hola FerraN10:

No me queda claro si necesitas que aparezcan los datos de de la tabla y después de cada grupo los totales o solamente los totales, ya que serían dos cosas distintas:

Por el tipo de consulta que estás poniendo como ejemplo creo que solo te interesan los totales, así es que se me ocurre que hagas algo como esto;

Código MySQL:
Ver original
  1. mysql> create table datos (trabajador varchar(10), numparada int,
  2.     -> tracking varchar(10), incidencia varchar(10));
  3. Query OK, 0 rows affected (0.09 sec)
  4.  
  5. mysql> insert into datos values ('H1',1,'AAAA', 'HF'),('H1',1,'AAAB', 'HF'),
  6.     -> ('H1',1,'AAAC', 'HF'),('H1',2,'AAAD', 'HF'),('H1',2,'AAAE', 'HF'),
  7.     -> ('H1',3,'AAAF', 'HF'),('H1',3,'AAAG', 'HF'),('H2',1,'VCXZ', 'HF'),
  8.     -> ('H2',2,'FFFF', 'HF'),('H2',2,'ZXCV', 'KB'),('H3',1,'VCXZ', 'KB'),
  9.     -> ('H3',2,'XXXX', 'KB'),('H3',3,'ZXCV', 'KB'),('H5',1,'AAAZ', 'HF'),
  10.     -> ('H5',1,'AAAF', 'HF'),('H5',1,'AAAE', 'HF'),('H5',1,'AADF', 'HF'),
  11.     -> ('H5',1,'AABV', 'HF'),('H5',2,'AAEX', 'HF');
  12. Query OK, 19 rows affected (0.03 sec)
  13. Records: 19  Duplicates: 0  Warnings: 0
  14.  
  15. mysql> select T1.trabajador, sum(if(T1.incidencia IN ('HF'), 1, 0)) total
  16.     -> from
  17.     -> (
  18.     -> SELECT
  19.     -> trabajador, numparada, incidencia
  20.     -> FROM datos
  21.     -> GROUP BY trabajador, numparada, incidencia
  22.     -> )
  23.     -> T1
  24.     -> group by T1.Trabajador;
  25. +------------+-------+
  26. | trabajador | total |
  27. +------------+-------+
  28. | H1         |     3 |
  29. | H2         |     2 |
  30. | H3         |     0 |
  31. | H5         |     2 |
  32. +------------+-------+
  33. 4 rows in set (0.00 sec)

Si por el contrario necesitas también presentar los datos de tu tabla entonces había que hacerlo diferente, tal vez con el WITH ROLLUP, como bien lo comenta gnzsoloyo.

si no sabes para qué se utiliza el modificador WITH ROLLUP dale un vistazo a la documentación:

12.10.2. Modificadores de GROUP BY

Saludos y espero tus comentarios.
Leo.