Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é a melhor maneira de 1000 linhas aleatórias (não duplicar a linha) do mysql?


Bem, pelo comentário, você também está satisfeito com uma resposta teórica.

Se você tiver seu array com todas as linhas, use array_unique() para se livrar de linhas duplicadas, use shuffle() para misturá-los e no final você pode pegar uma fatia com array_slice() .

EDITAR:

Você pode melhorá-lo quando já não seleciona linhas duplicadas, então não precisa usar array_unique() . Para isso, use DISTINCT . E se você quiser fazer tudo em uma consulta, você pode fazer algo assim:
SELECT DISTINCT column FROM table
ORDER BY RAND()
LIMIT 1000