Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Effiziente Auswahl zufälliger Zeilen aus großen Ergebnismengen mit LINQ (ala TABLESAMPLE)

Keine direkte Antwort auf Ihre Frage, aber Sie können diese Technik verwenden, um eine zufällige prozentuale Stichprobe einzelner Zeilen auszuwählen. Die folgende Abfrage verwendet die NEWID-Funktion, um ungefähr ein Prozent der Zeilen der Sales.SalesOrderDetail-Tabelle zurückzugeben:

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

Möglicherweise von Interesse:T-SQL :Generieren von Zufallszahlen, zufälliges Sampling und zufällige „Güte“