Tengo el siguiente problema y quisiera saber como solucionarlo creando una consulta en MySQL.
Echa un vistazo a esas dos tablas:


Necesito seguir una estructura para mostrar los resultados que quiero. Es como un randon dentro de un randon. Por ejemplo, quiero aleatorizar cada sección, pero los ID 1 a 3 deben estar juntos y luego aleatorizarse también.

¿Cómo sería una consulta para obtener tales resultados?
Con esta consulta:
select id, id_start, id_end, rand() rnd from table2 group by id, id_start, id_end puede devolver un número aleatorio para cada una de las filas de table2 .
Une esta consulta a la table1 y ordena el resultado primero por ese número aleatorio y luego por aleatorio:
select t1.id, t1.description from table1 t1 inner join ( select id, id_start, id_end, rand() rnd from table2 group by id, id_start, id_end ) t2 on t1.id between t2.id_start and t2.id_end order by t2.rnd, rand() Ver la demostración .