sql >> Base de Datos >  >> RDS >> Sqlserver

Seleccione eficientemente filas aleatorias de un gran conjunto de resultados con LINQ (ala TABLESAMPLE)

No es una respuesta directa a su pregunta, pero puede usar esta técnica para seleccionar una muestra de porcentaje aleatorio de filas individuales. La siguiente consulta usa la función NEWID para devolver aproximadamente el uno por ciento de las filas de la tabla Sales.SalesOrderDetail:

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

Posiblemente de interés:T-SQL :Generación de números aleatorios, muestreo aleatorio y 'bondad' aleatoria