/ / MySql random question - mysql, random

Consulta aleatoria de MySql - mysql, random

Tengo una tabla cuya estructura y datos son los siguientes: enter image description here

La tabla tiene un campo de incremento automático llamado "ID". Tiene otro campo llamado ‘q_r_id’ que también almacena id, pero aquí se puede repetir (por ejemplo, id-12 se puede repetir en más de 1 fila pero con un máximo de 5 filas).

Quiero seleccionar un número fijo de registros deesta tabla ALEATORIAMENTE pero asegurando que desde el campo ‘q_r_id’ si, por ejemplo, se selecciona id-12, todas las filas (es decir, todas las cinco filas de id-12 deben incluirse en el resultado aleatorio).

Estoy usando la siguiente consulta pero no obtengo el resultado deseado:

SELECT * FROM tblreasoningip_r WHERE id >= (SELECT FLOOR(MAX(id)*RAND()) FROM tblreasoningip_r)
group BY q_r_id LIMIT 0,30

Cualquier ayuda sería muy apreciada.

Respuestas

1 para la respuesta № 1

Prueba union

SELECT * FROM
(

SELECT * FROM tblreasoningip_r
WHERE id >= (SELECT FLOOR(MAX(id)*RAND()) FROM tblreasoningip_r)

UNION

SELECT * FROM tblreasoningip_r WHERE q_r_id = 12
)

GROUP BY id