Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Selecione com eficiência linhas aleatórias de um grande conjunto de resultados com LINQ (ala TABLESAMPLE)


Não é uma resposta direta à sua pergunta, mas você pode usar essa técnica para selecionar uma amostra de porcentagem aleatória de linhas individuais. A consulta a seguir usa a função NEWID para retornar aproximadamente um por cento das linhas da tabela Sales.SalesOrderDetail:
SELECT * FROM Sales.SalesOrderDetail   
WHERE 0.01 >= CAST(CHECKSUM(NEWID(), SalesOrderID) & 0x7fffffff AS float) / CAST (0x7fffffff AS int)

Possivelmente interessante:T-SQL :Gerando números aleatórios, amostragem aleatória e 'bondade' aleatória