Ecrit par 11 h 30 min SQL

Tri aléatoire avec SQL Server

Pour renvoyer des enregistrements aléatoire, SQL Server propose la fonction RAND(), seulement une fois lancée, les résultats seront toujours les mêmes…

Du coup pour une requête réutilisable plusieurs fois il vaut mieux utiliser la fonction NEWID() qui calcule pour chaque ligne un identifiant unique réellement aléatoire, et de faire le tri dessus. Il faudra ensuite choisir le nombre d’enregistrement à renvoyer avec la fonction TOP(). Nous aurons donc une requête de ce type :

select top(100) numero_de_compte_client
from MaTableClient
order by NEWID()
Fermer