Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Sélectionnez efficacement des lignes aléatoires à partir d'un grand jeu de résultats avec LINQ (ala TABLESAMPLE)

Ce n'est pas une réponse directe à votre question, mais vous pouvez utiliser cette technique pour sélectionner un échantillon aléatoire de pourcentage de lignes individuelles. La requête suivante utilise la fonction NEWID pour renvoyer environ 1 % des lignes de la table Sales.SalesOrderDetail :

SELECT * FROM Sales.SalesOrderDetail   
WHERE 0.01 >= CAST(CHECKSUM(NEWID(), SalesOrderID) & 0x7fffffff AS float) / CAST (0x7fffffff AS int)

Peut-être intéressant :T-SQL :Génération de nombres aléatoires, échantillonnage aléatoire et "bonté" aléatoire