venerdì 8 settembre 2017

Estrarre un valore casuale da tabella MySql

Su mysql oltre a poter ordinare i valori presenti in una tabella in ordine crescente o decrescente, è anche possibile ottenere un ordine random, in modo tale che i record presentati a video appaiano in maniera casuale.

Questo tipo di ordinamento può servire sia per avere un elenco di valori random, ma anche ad esempio, per poter estrarre un valore casuale da una tabella.
Vediamo dunque subito come compiere questa semplice operazione col sql.


Come estrarre un valore casuale da una tabella sql con MySql


La sintassi sql da utilizzare per ordinare in maniera random una tabella mysql è la seguente:

SELECT nome-campo FROM nome-tabella ORDER BY RAND() LIMIT 1

La funzione utilizzate per ordinare i risultati sql a caso, è per l'appunto la RAND(), abbinata alla ORDER BY.
Nell'esempio specifico però, ho estratto un campo in maniera casuale, limitando anche i risultati ad uno solo con la LIMIT 1.
Quindi questo esempio estrae un valore casuale da una tabella mysql.

Se invece è tua intenzione avere tutti i dati presenti in una tabella, senza però mettere alcun filtro, ordinati in maniera casuale; quello che devi fare è semplicemente usare la sintassi indicata sopra, senza però mettere il limit.

Ovviamente anche per ordinare casualmente su mysql occorre un po' di criterio.
Se ad esempio hai una tabella con milioni di record e pretendi di ordinarli in maniera random e mostrarli tutti a video, la query potrebbe richiedere bel un po' di tempo.

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon