Hola emilkavg:
Lo que estas planteando lo hemos tratado muchas veces en el foro, es conveniente que antes de publicar una nueva pregunta utilices la herramienta de búsqueda del foro para ver si existe algún tema semejante que te pueda servir. Ojo para la próxima. Ahora si, volviendo a tu problema, existen varias formas en las que puedes resolverlo, la más sencilla sería con SUMAS CONDICIONALES, te pongo un ejemplo para que veas como funcionan.
Código MySQL:
Ver original+------+-----------+--------+
| id | provincia | estado |
+------+-----------+--------+
| 1 | prov1 | A |
| 2 | prov1 | S |
| 3 | prov1 | I |
| 4 | prov1 | A |
| 5 | prov1 | S |
| 6 | prov2 | S |
| 7 | prov2 | A |
| 8 | prov3 | S |
| 9 | prov3 | S |
| 10 | prov3 | I |
+------+-----------+--------+
10 rows
in set (0.00 sec
)
-> provincia,
-> SUM(IF(estado
= 'A', 1, 0)) estadoA
, -> SUM(IF(estado
= 'S', 1, 0)) estadoS
, -> SUM(IF(estado
= 'I', 1, 0)) estadoI
+-----------+---------+---------+---------+
| provincia | estadoA | estadoS | estadoI |
+-----------+---------+---------+---------+
| prov1 | 2 | 2 | 1 |
| prov2 | 1 | 1 | 0 |
| prov3 | 0 | 2 | 1 |
+-----------+---------+---------+---------+
La parte de las sumas condicionales (SUM-IF) hacen las veces de un contador... el clásico total = total + 1 o total++... si se cumple la condición, entonces lo cuenta UNA VEZ, si no se cumple, simplemente lo ignora (suma un cero, o nada).
Dale un vistazo para ver si te sirve y si tienes dudas lo comentas en el foro
Saludos
Leo.