sql >> Databasteknik >  >> RDS >> Sqlserver

Välj n slumpmässiga rader från SQL Server-tabellen

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

Som svar på "rena papperskorgen"-kommentaren om stora tabeller:du kan göra det så här för att förbättra prestandan.

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

Kostnaden för detta kommer att vara nyckelskanningen av värden plus sammanfogningskostnaden, vilket på ett stort bord med ett litet procentuellt urval borde vara rimligt.



  1. Dynamisk pivottabell i SQL Server

  2. Hur migrerar man en PostgreSQL-databas till en SQLServer-databas?

  3. Hur tvingar man fram pascal-fall med Oracles Entity Framework-stöd?

  4. java.lang.IllegalStateException:Det gick inte att läsa rad 0, kol -1 från CursorWindow - Android sqlite problem