Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/08/2011, 18:35
Henkka
 
Fecha de Ingreso: abril-2008
Ubicación: Santa Fe, Argentina
Mensajes: 41
Antigüedad: 16 años, 10 meses
Puntos: 14
Respuesta: Filtro Busqueda - con datos de cantidad

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 |
+-------+----------+