Ами от коментара вие също сте доволни от теоретичен отговор.
Ако имате своя масив с всички редове, използвайте array_unique()код>
за да се отървете от дублиращи се редове, използвайте shuffle()
за да ги смесите и накрая можете да вземете парче с array_slice()
.
РЕДАКТИРАНЕ:
Можете да го подобрите, когато вече не сте избрали дублиращи се редове, тогава не е нужно да използвате array_unique()
. За тази цел използвайте DISTINCT
. И ако искате да направите всичко в заявка, можете да направите нещо подобно:
SELECT DISTINCT column FROM table
ORDER BY RAND()
LIMIT 1000