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

Wählen Sie n zufällige Zeilen aus der SQL Server-Tabelle aus

select top 10 percent * from [yourtable] order by newid()

Als Antwort auf den "reinen Müll"-Kommentar zu großen Tabellen:Sie könnten es so machen, um die Leistung zu verbessern.

select  * from [yourtable] where [yourPk] in 
(select top 10 percent [yourPk] from [yourtable] order by newid())

Die Kosten hierfür sind der Schlüssel-Scan der Werte plus die Join-Kosten, die bei einer großen Tabelle mit einer kleinen prozentualen Auswahl angemessen sein sollten.