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

Seleccionar 5 filas siguientes teniendo un id

Estas en el tema de Seleccionar 5 filas siguientes teniendo un id en el foro de Mysql en Foros del Web. A ver si alguien puede hecharme una mano.... Imaginar que hay una tabla de imagenes, y teniendo un ID de la imagen actual quiero seleccionar ...
  #1 (permalink)  
Antiguo 07/06/2011, 15:26
 
Fecha de Ingreso: junio-2009
Mensajes: 309
Antigüedad: 15 años, 5 meses
Puntos: 5
Seleccionar 5 filas siguientes teniendo un id

A ver si alguien puede hecharme una mano....


Imaginar que hay una tabla de imagenes, y teniendo un ID de la imagen actual quiero seleccionar las 5 que hayan antes y las 5 que hayan despues... tipico caso de galeria, o por ejemplo flickr que te pone lo de siguientes fotos y anteriores...

Tengo una solucion programada que es creando un array, encontrando en ese array la imagen y seleccionando las 5 por arriba y las de por debajo, pero claro, cuando tienes 20000 fotos.... queda un poco... locura hacer un select de 20mil para encontrar las fotos esas jajaja.


Alguna idea ingeniosa o solucion propia de SQL?
  #2 (permalink)  
Antiguo 08/06/2011, 02:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Seleccionar 5 filas siguientes teniendo un id

Si las fotos estan en la bbdd con su nombre no con su fichero tampoco es my exagerado trabajar con todas a la vez, la consulta sobre el array será mas rapida que sobre el servidor....

Si quieres hacerlo contra el servidor

SELECT * FROM fotos WHERE id>X ORDER BY id ASC LIMIT 5

y

SELECT * FROM fotos WHERE id<X ORDER BY ID DESC LIMIT 5

te da las 5 siguientes y anteriores suponiendo que X es el id dado y que este es autonumerico y la ordenación que quieres depende de el...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 09/06/2011, 10:10
 
Fecha de Ingreso: junio-2009
Mensajes: 309
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: Seleccionar 5 filas siguientes teniendo un id

joder! no habia caido en esa consulta.... algo tan simple.

Si, las imagenes están en el servidor como ficheros, no guardadas en la base de datos.

La consulta esa funcionaria perfectamente.... pero... dices que seria mas rapido seleccionar 20mil filas, hacer un array, entontrar en que posicion está la foto actual en ese array, y sacar las 5 siguiente y anteriores..... antes que las consultas???

No me acaba de convencer del todo, pero vamos, hablo desde el desconocimiento y la logica (mi logica :P)

Dices que tardaria mas por el order?

Un saludo!

Etiquetas: filas, seleccionar
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 09:31.