Foros del Web » Programando para Internet » PHP »

Sentencia SQL

Estas en el tema de Sentencia SQL en el foro de PHP en Foros del Web. Hola a todoas: Tengo una duda con una sentecia SQL para hacer consulta a MySQL... Os cuento lo que quiero hacer: Tengo una tabla Provincias, ...
  #1 (permalink)  
Antiguo 02/07/2003, 15:48
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Sentencia SQL

Hola a todoas:

Tengo una duda con una sentecia SQL para hacer consulta a MySQL...

Os cuento lo que quiero hacer:

Tengo una tabla Provincias, con un campo localidades.
Lo que quiero hacer es hacer una consulta para saber cuantas localidades diferentes hay en la tabla (hay registros con la misma localidad claro), y mostrar el numero por pantalla, y no se cual es la consulta SQL para hacer esto...

Podeis echarme una mano

Gracias a todos
  #2 (permalink)  
Antiguo 02/07/2003, 16:19
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 14 años, 10 meses
Puntos: 0
Prueba con las funciones Distinct y Sum.

Saludos
Reckba
  #3 (permalink)  
Antiguo 02/07/2003, 16:28
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 14 años, 6 meses
Puntos: 0
Esa pregunta seguro que te la contestaran antes y mejor en un foro de Bases de Datos, como por ejemplo este http://www.forosdelweb.com/s/foro21.html
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



  #4 (permalink)  
Antiguo 02/07/2003, 17:38
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
SELECT COUNT(DISTINCT localidad) FROM tutabla
__________________
Manoloweb
  #5 (permalink)  
Antiguo 03/07/2003, 04:49
 
Fecha de Ingreso: julio-2003
Mensajes: 76
Antigüedad: 14 años, 5 meses
Puntos: 0
yo haría lo mismo que manoloweb, pero si quieres contar las distintas localicades de cada provincia(en el caso de que tengas también el campo provincia) añádele un group by:
SELECT COUNT(DISTINCT localidad)
FROM tutabla
GROUP BY provincia

si tienes 5 provincias, te saldrán 5 números, una por cantidad de distintas localidades por provincia.
suerte.
  #6 (permalink)  
Antiguo 03/07/2003, 08:37
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
OK

La sentecia esta clara, estoy probando con ella...

Que funcion de Mysql es la que debo utilizar para que me devuelva el resultado de la consulta??

pongo $sql= "SELECT COUNT(DISTINCT localidad) FROM Provincias";

$consulta = mysql_query($sql);

echo "El numero de localidad es: " .$consulta ;

pero no me devuelve nada... y eso indudablemente es que no estoy haciendolo bien...

Podeis echarme una mano???

Asias
  #7 (permalink)  
Antiguo 03/07/2003, 08:45
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Puedes probar:

mysql_fetch_array()
mysql_fetch_row()
mysql_fetch_object()
mysql_result()

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 03/07/2003, 08:51
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Código PHP:
$sql"SELECT COUNT(DISTINCT localidad) as cuantos FROM Provincias";

$consulta mysql_query($sql);

$rs=mysql_fetch_array($consulta);

$cantidad=$rs["cuantos"];

echo 
"El numero de localidad es: " .$cantidad 
__________________
Manoloweb
  #9 (permalink)  
Antiguo 03/07/2003, 09:27
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Hola de nuevo:

He probado con todas las funciones que me habeis indicado arriba, incluso con el codigo exacto que ha escrito MonoloWeb, y el resultado es este error

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource


???? Que es lo que pasa?????
  #10 (permalink)  
Antiguo 03/07/2003, 09:31
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
Ya he solucionado el problema del error... Habia escrito mal "provincias"... esas prisas...

Lo que me pasa ahora es que no obtengo el resultado esperado...

este es el codigo:

$sql3 = "SELECT COUNT(DISTINCT Localidad) FROM $ID";//$ID es la tabla obtenida por URL
$consulta3 = mysql_query($sql3);
$localidades = mysql_fetch_row($consulta3);
echo "Nº de Localidades: ".$localidades;


por pantalla me sale Localidades: Array
si utilizo mysql_result me sale error..

??

Última edición por Operadormail; 03/07/2003 a las 09:39
  #11 (permalink)  
Antiguo 03/07/2003, 09:54
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Ya viste como funciona mysql_fetch_array??

te entrega un array con los resultados.

Código PHP:
$sql3 "SELECT COUNT(DISTINCT Localidad) as cuantos FROM $ID";//$ID es la tabla obtenida por URL
$consulta3 mysql_query($sql3);
$localidades mysql_fetch_row($consulta3);
$cantidad=$localidades["cuantos"];
echo 
"Nº de Localidades: ".$cantidad
__________________
Manoloweb
  #12 (permalink)  
Antiguo 03/07/2003, 10:03
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 14 años, 6 meses
Puntos: 1
OK

Ya esta solucionado. Funciona correctamente.

Solo una cosa... en $localidades = mysql_fetch_row($consulta); hay que poner array en vez de row por que si no no funciona...

Un saludo y gracias de nuevo
  #13 (permalink)  
Antiguo 03/07/2003, 10:06
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Tienes razón, no me detuve a revisarlo, pero si te das cuenta en mi post anterior te lo habia puesto como fetch_array.

Te recomiendo una buena leida de las funciones de MySQL en el manual de PHP.

Saludos
__________________
Manoloweb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:28.