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

recuperar un numero x de registros aleatorios sin que se repitan

Estas en el tema de recuperar un numero x de registros aleatorios sin que se repitan en el foro de Mysql en Foros del Web. Hola mi problema es el siguiente, quiero recuperar de mi base de datos un total de registros de forma aleatoria, pero lo que quiero es ...
  #1 (permalink)  
Antiguo 21/01/2012, 10:22
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
recuperar un numero x de registros aleatorios sin que se repitan

Hola mi problema es el siguiente, quiero recuperar de mi base de datos un total de registros de forma aleatoria, pero lo que quiero es que cuando haga la consulta por segunda vez no se repitan los numero con la anterior, se que con rand() te devuelve los registros aleatorios pero he probado que si hago dos consultas los repite alguna idea hice algo asin:

Código MySQL:
Ver original
  1. SELECT * from numeros ORDER BY RAND() LIMIT 5

saludos.
  #2 (permalink)  
Antiguo 21/01/2012, 10:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: recuperar un numero x de registros aleatorios sin que se repitan

Si los puede repetir las consultas son totalmente independientes...

Lo puedes hacer de la sigiente forma

Primera ejecución

SELECT * FROM numeros ORDER BY RAND() LIMIT 5

guardo los id listados en un string separados por comas

Segunda ejecución

SELECT * FROM numeros WHERE id NOT IN (...lista de ids...) ORDER BY RAND() LIMIT 5

Para la tercera ejecución, y siguientes, no borres el string agrega los de la ejecución anterior.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 23/01/2012, 07:40
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: recuperar un numero x de registros aleatorios sin que se repitan

Hola quimfv, gracias por tu respuesta, me quedo claro, ahora intentare aplicarlo a la practica, saludos.

Etiquetas: numero, registros, select, aleatoria
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 04:47.