sql >> Base de Datos >  >> RDS >> Mysql

¿Seleccionar fila aleatoria por valor de campo distinto?

Para obtener un valor aleatorio para un nombre 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 ;  

Ponga esta consulta tal como está en su sqlfiddle y funcionará

Estoy usando r y r1 como nombres de alias de tabla. Esto también usará una subconsulta para seleccionar un some_info aleatorio para el nombre

SQL Fiddle está aquí