MySql: una query per estrarre i dati in maniera casuale.

Logo MySql

MySql


Estrarre i dati in maniera casuale è veramente molto semplice con MySql.
Supponiamo di avere una tabella di nome articoli con i campi idArt,artName,artPrice e magari in una nostra applicazione vogliamo estrarre casualmente 5 articoli.

La query da scrivere potrebbe essere la seguente:

SELECT idArt,artName,artPrice FROM articoli ORDER BY RAND() LIMIT 0,5

In pratica abbiamo eseguito una semplice query di selezione (con il LIMIT) ma abbiamo ordinato per RAND(), quello che otteniamo in pratica l’aggiunta di un campo per ogni linea il cui valore viene generato casualmete dalla funzione RAND() e poi i risultati vengono ordinati per tale campo.
Poichè tale valore è prodotto casualmente ed è generato ad ogni esecuzione della query, non possiamo fare nessuna previsione su come verranno fuori le righe selezionate, quindi otteniamo come risultato che le 5 linee restituite sono “casuali”.