Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Essa função é somente para SQLServer
É comum em alguns sistemas a necessidade de sortear um determinado registro dentro do banco de dados. Escolher aleatoriamente o registro.
Para realizarmos isso podemos nos aproveitar da função NewId(). A função NewId gera um novo GUID (Global Unique Identifier) a cada vez que é executada. O algorítimo torna impossível uma repetição em um conjunto de milhões de execuções.
Se nós utilizarmos o NewId() no Order by então para cada registro será gerado um novo GUID e o registro será ordenado de acordo com esse valor. Como a cada execução os GUIDs gerados serão diferentes, a ordenação nunca será igual.
Pode-se então fazer um TOP 1 nesta query para pegar apenas o primeiro registro retornado e temos então nosso sorteio. Veja a query :
**select top 1 * from tabela order by newid() **
Fonte: BufaloInfo
Carregando comentários...