Bueno, por el comentario también estás satisfecho con una respuesta teórica.
Si tiene su matriz con todas las filas, use array_unique()
para deshacerse de las filas duplicadas, use shuffle()
para mezclarlos y al final puedes tomar un trozo con array_slice()
.
EDITAR:
Puede mejorarlo cuando ya no selecciona filas duplicadas, entonces no tiene que usar array_unique()
. Para esto, use DISTINCT
. Y si quiere hacer todo en una consulta, puede hacer algo como esto:
SELECT DISTINCT column FROM table
ORDER BY RAND()
LIMIT 1000