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

Selecionar linha aleatória por valor de campo distinto?


Para obter um valor aleatório para um nome distinto, use
SELECT r.name, 
(SELECT r1.some_info FROM test AS r1 WHERE r.name=r1.name ORDER BY rand() LIMIT 1) AS     'some_info' 
FROM test AS r 
GROUP BY r.name ;  

Coloque esta consulta como está no seu sqlfiddle e funcionará

Estou usando r e r1 como nomes de alias de tabela. Isso também usará uma subconsulta para selecionar um some_info aleatório para o nome

SQL Fiddle está aqui