Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/04/2013, 07:12
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: mostrar resultados aleatorios en mysql

eso te dará 20 registros de los que cumplen edat=30 de forma aleatoria sin repeticiones...

Si lo de las repeticiones lo dices para el caso de una segunda muestra debería tener el resultado de la primera y la segunda vez agregar una restrición mas

Código MySQL:
Ver original
  1. FROM nombres
  2. WHERE edad=30
  3. AND id NOT IN (...lista de ids elegidos anteriormente....)

Se puede hacer en programación externa o con tabla temporales....

Código MySQL:
Ver original
  1.        SELECT *
  2.        FROM nombres
  3.        WHERE edad=30
  4.        ORDER BY RAND() LIMIT 20)

Código MySQL:
Ver original
  1. FROM nombres
  2. WHERE edad=30
  3. AND id NOT IN (SELECT id FROM  muestra1)

Ahora tendrias dos muestras aleatorias distintas.

(substituye id por el nombre de la PK de tu tabla)

Si la población es grande se podria decir que serian muestras estadisticamente equivalentes... salvando que RAND() es pseudoaleatorio....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 30/04/2013 a las 07:20