Puede agregar un WITH ROLLUP
cláusula a su GROUP BY
condición como esta:
SELECT
CASE WHEN CONDITION=1 THEN 'OK' ELSE 'BAD' END AS Status,
SUM (CASE WHEN SIZE=10 THEN 1 ELSE 0 END) AS Small,
SUM (CASE WHEN SIZE=20 THEN 1 ELSE 0 END) AS Medium,
SUM (CASE WHEN SIZE=30 THEN 1 ELSE 0 END) AS Large,
FROM mytable
GROUP BY Status WITH ROLLUP
Esto produciría un conjunto de resultados como:
Status Small Medium Large
OK 1 2 1
BAD 2 1 0
[NULL] 3 3 1
Debería comprender el comportamiento de que no habría ningún Total
valor en la columna Estado. En cambio, la columna Estado tendría un valor NULL que indica que aquí es donde se realiza el resumen.
Para más información puede leer la documentación aquí:http ://dev.mysql.com/doc/refman/5.6/en/group-by-modifiers.html