Foros del Web » Programando para Internet » PHP »

Valor min PHP - MYSQL

Estas en el tema de Valor min PHP - MYSQL en el foro de PHP en Foros del Web. Buen dia para todos. Tengo la siguiente tabla en mysql con los siguientes registros. ID | NUMERO 1 - 70 2 - 10 3 - ...
  #1 (permalink)  
Antiguo 30/09/2012, 10:18
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 2
Valor min PHP - MYSQL

Buen dia para todos.

Tengo la siguiente tabla en mysql con los siguientes registros.

ID | NUMERO
1 - 70
2 - 10
3 - 100
4 - 200
5 - 500


Lo que quiero es sacar el numero menor con su respectivo ID de dicha tabla. Para eso hago la siguiente consulta.

SELECT id,MIN(numero) AS numero FROM tabla

Me devuelve lo siguiente

ID | NUMERO
1 - 10

El problema es el siguiente el me devuelve bien el numero menor pero no me lo devuelve con su verdadero ID. Es pocas palabras el me tendria que devolver lo siguiente:

ID | NUMERO
2 - 10

Quisiera saber en donde estoy fallando.

Muchas gracias.
  #2 (permalink)  
Antiguo 30/09/2012, 10:34
Avatar de antoniopol  
Fecha de Ingreso: agosto-2012
Ubicación: Valladolid
Mensajes: 114
Antigüedad: 11 años, 8 meses
Puntos: 21
Respuesta: Valor min PHP - MYSQL

Prueba a hacer lo siguiente
Código SQL:
Ver original
  1. SELECT id,MIN(numero) AS numero FROM tabla GROUP BY id

Creo que así funcionaría, muy bien no se porque te sale ese resultado con tu consulta pero siempre que se usa funciones como MIN, AVG, SUM, etc... es conveniente usar GROUP BY.
__________________
>> Blog de desarrollo web.
>> @antoniopol06 amante de la Web =D
  #3 (permalink)  
Antiguo 30/09/2012, 10:53
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Valor min PHP - MYSQL

Ya lo probé.

Me sale lo siguiente.

ID | NUMERO
1 - 70
2 - 10
3 - 100
4 - 200
5 - 500


Yo quiero que solo me arroje el menor con su respectivo ID.

Muchas gracias
  #4 (permalink)  
Antiguo 30/09/2012, 11:36
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Valor min PHP - MYSQL

$sql = "SELECT id,numero FROM tabla ORDER BY numero ASC";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query)){
echo "ID:".$row["id"]." - NUMERO:".$row["numero"]."<br />";
}

Si lo quered hacer como lo estas haciendo, te dejo un ejemplo
http://www.tizag.com/mysqlTutorial/mysqlmin.php

Saludos
  #5 (permalink)  
Antiguo 30/09/2012, 11:40
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Valor min PHP - MYSQL

No me sirve

Yo solo quiero que me devuelva el valor minimo con su id. Solamente un registro.

Muchas gracias
  #6 (permalink)  
Antiguo 30/09/2012, 11:45
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Valor min PHP - MYSQL

Como estas interpretando el SQL? déjanos el código completo

Saludos
  #7 (permalink)  
Antiguo 30/09/2012, 12:00
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Valor min PHP - MYSQL

Estoy haciendo primero las pruebas en phpmyadmin para darme cuenta si me devuelve correctamente lo que yo quiero.

Tengo la siguiente tabla.

ID | NUMERO
1 - 70
2 - 10
3 - 100
4 - 200
5 - 500

Estoy utilizando la sentencia:

SELECT id,MIN(numero) AS numero FROM tabla

Pero no me devuelve lo que yo quiero, es decir el me devuelve un ID que no corresponde al numero:

ID | NUMERO
1 - 10

Yo quiero que me devuelva el numero menor en este caso es 10 con el ID que le corresponde en este caso 2.

ID | NUMERO
2 - 10

Muchas gracias.
  #8 (permalink)  
Antiguo 30/09/2012, 12:16
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Valor min PHP - MYSQL

Código SQL:
Ver original
  1. SELECT ID, NUMERO FROM tabla ORDER BY NUMERO ASC LIMIT 1

Saludos!
  #9 (permalink)  
Antiguo 30/09/2012, 12:23
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Valor min PHP - MYSQL

Muchas gracias cumple con lo que yo quiero.

Pero me quedo la duda el por que no me sale con el MIN.

De verdad muchas gracias.
  #10 (permalink)  
Antiguo 30/09/2012, 12:45
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Valor min PHP - MYSQL

Me parece una falta total de respeto el usuario @Jorge1801, yo anteriormente te dije la respuesta solo en forma de código PHP, porque pensé que estabas trabajando sobre ello. Mi respuesta fue:

Código PHP:
Ver original
  1. $sql = "SELECT id,numero FROM tabla ORDER BY numero ASC";
  2. $query = mysql_query($sql);
  3. while($row = mysql_fetch_assoc($query)){
  4. echo "ID:".$row["id"]." - NUMERO:".$row["numero"]."<br />";
  5. }

Es decir, con un poco de lógica, te dabas cuenta que lo que tenias que sacar era

Código SQL:
Ver original
  1. SELECT id,numero FROM tabla ORDER BY numero ASC

y agregarle un LIMIT 1, para limitar el numero de resultado.

Tu respuesta de "no me sirve", no fue la mejor respuesta, simplemente tendría que poner "No tengo ganas de pensar, déjame el código tal y como lo quiero yo", una falta de respeto.
  #11 (permalink)  
Antiguo 30/09/2012, 13:20
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Valor min PHP - MYSQL

Cita:
Iniciado por Jorge1801 Ver Mensaje
Pero me quedo la duda el por que no me sale con el MIN.
Es por que MYSQL compara las columnas por sus valores en lugar de su posiciones relativas dentro del conjunto, cuando encuentra el valor MIN su posición original es afectada.
En tu caso tu necesitabas saber la posición donde se encontraba el numero menor, la manera en que lo estabas haciendo al principio no era la forma adecuada.

Saludos!

Etiquetas: min, mysql, registro, tabla
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 00:17.