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

Como seleciono linhas aleatórias no MySQL?


turbod estava perto de sua resposta, ele estava apenas ordenando aleatoriamente, quando parece que você queria ordenar por pid, depois de obter as linhas aleatórias desejadas em conjunto com as referentes a A2 e A3:
(
    SELECT *
    FROM `mytable`
    WHERE 
        name ='A2' OR 
        name ='A3'
    LIMIT 2
)
UNION
(
    SELECT DISTINCT *
    FROM `mytable`
    WHERE 
        name !='A2' OR 
        name !='A3'
    ORDER BY RAND( ) LIMIT 2
) 
ORDER BY `pid`