Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Valor mas bajo de un mismo campo

Estas en el tema de Valor mas bajo de un mismo campo en el foro de Mysql en Foros del Web. Buenas tardes. Para obtener un campo de mi bd estoy haciendo 2 consultas que estoy seguro que con un poco de maña se podría quedar ...
  #1 (permalink)  
Antiguo 18/05/2012, 08:03
 
Fecha de Ingreso: septiembre-2007
Mensajes: 21
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Valor mas bajo de un mismo campo

Buenas tardes.

Para obtener un campo de mi bd estoy haciendo 2 consultas que estoy seguro que con un poco de maña se podría quedar en una. Supongamos que estos son los datos...

id valor
-------------
1 a
2 b
3 c
4 b

Ahora lo que necesito que es que si busco por el id 4, me devuelva el valor y el id mas bajo asociado a ese valor.

Con las 2 consultas queda algo asi:

Código PHP:
$sql mysql_fetch_row(mysql_query("SELECT valor FROM tabla WHERE id = '4' LIMIT 1"));
$sql2 mysql_fetch_row(mysql_query("SELECT id, valor FROM tabla WHERE valor = '$sql[0]' ORDER BY id ASC LIMIT 1")); 
Esto me devolvería el id 2 valor b, que es correcto, pero no me parece la mejor forma de hacerlo. Sugerencias?

Gracias!
  #2 (permalink)  
Antiguo 18/05/2012, 09:10
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 15 años, 6 meses
Puntos: 447
Respuesta: Valor mas bajo de un mismo campo

Hola schizo:

No estoy seguro de si entendí correctamente el problema, pero a partir de los datos, puedes obtener el mismo resultado con una sola consulta... sería más o menos así:

Código MySQL:
Ver original
  1. mysql> select * from datos;
  2. +------+-------+
  3. | id   | valor |
  4. +------+-------+
  5. |    1 | a     |
  6. |    2 | b     |
  7. |    3 | c     |
  8. |    4 | b     |
  9. +------+-------+
  10. 4 rows in set (0.00 sec)
  11.  
  12. mysql> SELECT min(T1.id), T1.valor FROM datos T1
  13.     -> INNER JOIN (select valor from datos where id = 4) T2
  14.     -> on T1.valor = T2.valor
  15.     -> group by valor;
  16. +------------+-------+
  17. | min(T1.id) | valor |
  18. +------------+-------+
  19. |          2 | b     |
  20. +------------+-------+
  21. 1 row in set (0.00 sec)
  #3 (permalink)  
Antiguo 18/05/2012, 13:17
 
Fecha de Ingreso: septiembre-2007
Mensajes: 21
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Valor mas bajo de un mismo campo

Gracias por tu respuesta leonardo_josue, funciona perfecto!

Etiquetas: menor, php, sql
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 01:43.