Usuário com melhor resposta
Aleatoriedade por registro

Pergunta
-
Proprietario VeiculoVinicius unoVinicius palioVinicius golThiago celtaThiago foxRodrigo i30Boa tarde, gostaria de saber como randomizar 1 registro por Proprietario.Exemplo de resultado:Proprietario VeiculoVinicius unoThiago celtaRodrigo i30Como faço isso no SQL Server?
Vinicius Silva vinycius01@gmail.com
Respostas
-
Aproveitando o exemplo do Gapimex, você pode adaptar da seguinte forma:
with CTE_RN as ( select Proprietario, Veiculo, ROW_NUMBER() OVER(PARTITION BY Proprietario ORDER BY Proprietario, NewId()) as RN from Tabela ) select * from CTE_RN where RN = 1
Não testei, mas acho que dá certo.
Abraço!
"A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski
- Marcado como Resposta vinycius01 segunda-feira, 18 de novembro de 2013 18:34
Todas as Respostas
-
Bom dia,
Vinicius, experimente dessa forma para ver se é obtido o resultado desejado:
with CTE_RN as ( select Proprietario, Veiculo, ROW_NUMBER() OVER(PARTITION BY Proprietario ORDER BY Proprietario) as RN from Tabela ) select * from CTE_RN where RN = 1
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Roberson Naves quinta-feira, 14 de novembro de 2013 14:18
-
testei e entendi o que ele faz...
vc gera uma tabela temporária, inserindo os números de linhas das tuplas. Depois vc seleciona somente os registros que possuem 1 no numero da linha.
Na verdade o que quero fazer é selecionar de forma aleatória (como fazemos com newid()).
Vinicius Silva vinycius01@gmail.com
-
Aproveitando o exemplo do Gapimex, você pode adaptar da seguinte forma:
with CTE_RN as ( select Proprietario, Veiculo, ROW_NUMBER() OVER(PARTITION BY Proprietario ORDER BY Proprietario, NewId()) as RN from Tabela ) select * from CTE_RN where RN = 1
Não testei, mas acho que dá certo.
Abraço!
"A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski
- Marcado como Resposta vinycius01 segunda-feira, 18 de novembro de 2013 18:34
-
-