Puoi usare LIMIT m,n
per limitare il numero di risultati che ottieni e compensare i risultati di un determinato importo.
Ora potresti fare qualcosa come:
SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;
Dove calcoli la $page
basato su un $_GET
variabile. Ma questo non risolverà la tua casualità.
Puoi sempre eseguire il seeding di RAND($key) da una determinata chiave che salvi nella tua sessione in modo da poter ORDER BY RAND($key)
e usa la tecnica del limite superiore.
Probabilmente il modo più semplice da implementare sarebbe ottenere l'intero set di risultati, mescolarlo e memorizzarlo nella cache. Quindi usa un php per mostrare solo un pezzo specifico della cache.
Poiché questo è correlato all'impaginazione. Lascia che te lo dica, LIMIT m,n potrebbe non essere veloce come sembra. Scopri come migliorarlo e ulteriori informazioni su Impaginazione efficiente con MySQL