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

random entre los ultimos registros

Estas en el tema de random entre los ultimos registros en el foro de Mysql en Foros del Web. hola quisiera hacer un random entre los ultimos 5 registros de mi tabla (la cual tiene miles) si hago un SELECT * FROM registros ORDER ...
  #1 (permalink)  
Antiguo 17/11/2009, 10:11
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
random entre los ultimos registros

hola
quisiera hacer un random entre los ultimos 5 registros de mi tabla (la cual tiene miles)

si hago un SELECT * FROM registros ORDER BY RAND() LIMIT 0,5

me lo hace con toooooodos, alguna manera de restringirlo?
gracias!!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 17/11/2009, 10:18
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: random entre los ultimos registros

Código sql:
Ver original
  1. SELECT *FROM (SELECT * FROM registros LIMIT 5)t1 ORDER BY rand()

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 17/11/2009, 10:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: random entre los ultimos registros

¿Restringirlo respecto de qué criterio?
Lo más simple es hacer que el RAND corra sobre el resultado de una subconsulta a la que le apliques el criterio definido:
Código SQL:
Ver original
  1. SELECT *
  2. FROM (SELECT *
  3.            FROM registros
  4.            WHERE ( criterios)
  5.            LIMIT 0,5 ) T1
  6. ORDER BY RAND() ;

(parece que Huesos52 y yo teníamos la misma interpretación)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 17/11/2009, 10:21
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: random entre los ultimos registros

Si no tienes ningún campo de fecha que indique cuándo se creó el registro, yo lo haría así:
Código:
SELECT *FROM (SELECT * FROM registros ORDER id DESC LIMIT 5)t1 ORDER BY rand()
dónde 'id' es el campo autonumérico
  #5 (permalink)  
Antiguo 17/11/2009, 11:00
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Respuesta: random entre los ultimos registros

perefecto gente. funciono gracias!
__________________
On error no hago nada porque deje de fumar...
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 22:21.