Hacerlo como dice ramiro_md funciona, pero no es la manera ideal.
En caso de que nuestro dataset sea:
Código:
mysql> SELECT * FROM locaciones;
+----+-------------+--------------+-------+
| id | nombre | provincia | tipo |
+----+-------------+--------------+-------+
| 10 | Solans | Santa Fe | Hotel |
| 9 | Barisit | Santa Fe | Hotel |
| 8 | Urquiza | Santa Fe | Apart |
| 7 | Soltigua | Mendoza | Apart |
| 6 | Diplomatic | Mendoza | Hotel |
| 5 | Huentala | Mendoza | Hotel |
| 4 | Bys Palermo | Buenos Aires | Hotel |
| 3 | Carlos | Buenos Aires | Apart |
| 2 | Congreso | Buenos Aires | Apart |
| 1 | Serena | Buenos Aires | Hotel |
+----+-------------+--------------+-------+
Podemos obtener cuantos hoteles hay en cada provincia
Código:
mysql> SELECT provincia, COUNT(*) FROM locaciones WHERE tipo = 'Hotel' GROUP BY provincia;
+--------------+----------+
| provincia | COUNT(*) |
+--------------+----------+
| Buenos Aires | 2 |
| Mendoza | 2 |
| Santa Fe | 2 |
+--------------+----------+
Y qué cantidad de cada tipo de locación, sin discriminar provincia
Código:
mysql> SELECT tipo, COUNT(*) FROM locaciones GROUP BY tipo;
+-------+----------+
| tipo | COUNT(*) |
+-------+----------+
| Hotel | 6 |
| Apart | 4 |
+-------+----------+
Para que el código resulte más autocomentado, se puede cambiar el nombre de la columna con
AS, de manera que sea más entendible al usar el
FETCH_ASSOC de tu interfaz de abstracción (ej.
mysql_fetch_assoc())
Código:
mysql> SELECT provincia, COUNT(*) AS cantidad FROM locaciones WHERE tipo = 'Apart' GROUP BY provincia;
+--------------+----------+
| provincia | cantidad |
+--------------+----------+
| Buenos Aires | 2 |
| Mendoza | 1 |
| Santa Fe | 1 |
+--------------+----------+
Código:
mysql> SELECT tipo, COUNT(*) AS cantidad FROM locaciones GROUP BY tipo;
+-------+----------+
| tipo | cantidad |
+-------+----------+
| Hotel | 6 |
| Apart | 4 |
+-------+----------+