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

consulta mayor o menor

Estas en el tema de consulta mayor o menor en el foro de Mysql en Foros del Web. hola quisiera saber como se puede hacer una consulta mysql/php para consultar un numero que le sigue a un numero ya dado, es para hacer ...
  #1 (permalink)  
Antiguo 12/03/2012, 09:19
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 6 meses
Puntos: 18
consulta mayor o menor

hola quisiera saber como se puede hacer una consulta mysql/php para consultar un numero que le sigue a un numero ya dado, es para hacer algo asi como un paginador...para siguiente----atras

y ps como entenderan si tengo por ejemplo el id 10 y el id siguiente no es 11 sino 9 porq el id 11 esta eliminado....como hago eso? me imagino q seria con un mayor y menor no?

pero como se hace eso? gracias
  #2 (permalink)  
Antiguo 12/03/2012, 10:11
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 2 meses
Puntos: 447
Respuesta: consulta mayor o menor

Hola edward18_1:

Para encontrar el id anterior podrías hacerlo así

Código:
select max(id) from tu_tabla where id < id_actual;
para encontrar el siguiente sería algo parecido, solo "invirtiendo" el sentido de las comparaciones:

Código:
Select min(id) from tu_tabla where id > id_actual;

Checa este script:

Código MySQL:
Ver original
  1. mysql> select id from tabla;
  2. +------+
  3. | id   |
  4. +------+
  5. |    5 |
  6. |    9 |
  7. |   10 |
  8. |   12 |
  9. |   15 |
  10. +------+
  11. 5 rows in set (0.00 sec)
  12.  
  13. mysql> #para definir el id_actual
  14. mysql> SET @id_actual = 10;
  15.  
  16. mysql> #para encontrar el id ANTERIOR
  17. mysql> select max(id) from tabla where id < @id_actual;
  18. +---------+
  19. | max(id) |
  20. +---------+
  21. |       9 |
  22. +---------+
  23. 1 row in set (0.02 sec)
  24.  
  25. mysql> #para encontrar el id SIGUIENTE
  26. mysql> select min(id) from tabla where id > @id_actual;
  27. +---------+
  28. | min(id) |
  29. +---------+
  30. |      12 |
  31. +---------+
  32. 1 row in set (0.00 sec)

Observa lo que sucede cuando el ID corresponde a alguno de los extremos de tu tabla;

Código MySQL:
Ver original
  1. mysql> SET @id_actual = 5;
  2. Query OK, 0 rows affected (0.00 sec)
  3.  
  4. mysql> select max(id) from tabla where id < @id_actual;
  5. +---------+
  6. | max(id) |
  7. +---------+
  8. |    NULL |
  9. +---------+
  10. 1 row in set (0.00 sec)
  11.  
  12. mysql> set @id_actual = 15;
  13. Query OK, 0 rows affected (0.00 sec)
  14.  
  15. mysql> select min(id) from tabla where id > @id_actual;
  16. +---------+
  17. | min(id) |
  18. +---------+
  19. |    NULL |
  20. +---------+
  21. 1 row in set (0.00 sec)

El resultado de las consultas sería NULL al obtener el anterior del id inicial y el siguiente del id final.

Saludos
Leo.
  #3 (permalink)  
Antiguo 12/03/2012, 12:39
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 6 meses
Puntos: 18
Respuesta: consulta mayor o menor

hola muchas gracias :D ya me pongo a trabajar en eso!...y me has dejado todo :O con el script ya que me parece todo raro jaja

Etiquetas: mayor, 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 03:27.