Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Seleziona n righe casuali dalla tabella di SQL Server

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

In risposta al commento "pura spazzatura" riguardante i tavoli di grandi dimensioni:potresti farlo in questo modo per migliorare le prestazioni.

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

Il costo di questo sarà la scansione chiave dei valori più il costo di unione, che su un grande tavolo con una piccola percentuale di selezione dovrebbe essere ragionevole.