Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Ordinare i dati in modo casuale con la funzione RND in SQL

Articolo scritto da Luca Ruggiero

Capita a molti programmatori di avere la necessità, o il vezzo, di estrarre record casuali dal database, mostrandoli tutti (o in parte a seconda del numero e dei parametri di ricerca) ordinandoli a casaccio.

A seconda del linguaggio di scripting o di programmazione che si interfaccia col database, è possibile utilizzare le funzioni predefinite per creare delle routine che, basandosi su di una query, estraggano uno o più record a caso, ordinandoli a piacimento.

(L'articolo continua più sotto...)

Nella maggior parte dei casi si tratta di routine non complicatissime, ma dispendiose in termini di codice.

SQL mette a disposizione la funzione RND (forma contratta di RANDOM) che accetta come parametro un numero intero, come un campo auto increment (classico campo contatore).

C'è da ricordare che demandare un'operazione al DBMS, quando possibile, è un'ottima soluzione in termini di ottimizzione (e risparmio) delle risorse a disposizione.

Facciamo un esempio pratico.

Si faccia riferimento alla tabella "utenti" composta dal campo "id" di tipo contatore e dal campo "nome" di tipo testo.

Popolate la tabella con qualche dato di prova e testate il risultato eseguendo la seguente stringa SQL

SELECT nome FROM utenti ORDER BY RND(id)
In questo modo estraiamo tutti i dati in maniera casuale, ma se volessimo estrarne solo un numero predefinito useremo la clausola TOP come nell'esempio che segue
SELECT TOP 2 nome FROM utenti ORDER BY RND(id)
Naturalmente i record che saranno estratti non saranno sempre gli stessi; se i miei dati sono
1 | luke
2 | max
3 | eliox
il risultato, utilizzando la clausola TOP, potrebbe essere
max
eliox
piuttosto che
eliox
luke
e cosi via.

Corsi
Corso MS AccessCorso MS Access
Impara a creare e gestire database in maniera semplice e veloce. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso SQL e DatabaseCorso SQL e Database
Creazione e gestione di database relazionali. A partire da 39 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122