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

mostrar datos aleatorios

Estas en el tema de mostrar datos aleatorios en el foro de Mysql en Foros del Web. Hola, como puedo mostrar por ejemplo los últimos 10 registros de manera aleatoria, ya que si uso ORDER BY RAND() me muestra datos aleatorios de ...
  #1 (permalink)  
Antiguo 02/08/2009, 16:03
 
Fecha de Ingreso: julio-2005
Mensajes: 84
Antigüedad: 18 años, 9 meses
Puntos: 1
mostrar datos aleatorios

Hola, como puedo mostrar por ejemplo los últimos 10 registros de manera aleatoria, ya que si uso ORDER BY RAND() me muestra datos aleatorios de toda la base de datos...

de antemano muchas gracias!
  #2 (permalink)  
Antiguo 02/08/2009, 17:59
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: mostrar datos aleatorios

me costó un rato averiguarlo pero lo consegui, creo que aprendi algo nuevo yo tambien ejejej.

Imaginemos una tabla ciudades sencilla con los campos: ID,NOMBRECIUDAD

Con (select ID from ciudades order by ID DESC LIMIT 1 OFFSET 9) obtenemos la ID en la posicion 10º empezando por el final de la tabla, esto siempre que ID tenga un identificador en orden ascendente tal como deseariamos.

Por lo que una vez tenemos a partir de que valor ID queremos los registros solo tenemos que:

select * from ciudades WHERE ID>=(select ID from ciudades order by ID DESC LIMIT 1 OFFSET 9) order by rand()

Saludos
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:53.