Posts Tagged ‘ranking’

Copa Microsoft 2010

Posted in Dicas on April 14th, 2010 by Silas Mendes – Be the first to comment

Já está rolando a Copa Microsoft, uma ótima oportunidade para atualizar seu conhecimento nas novas ferramentas da Microsoft. Além da atualização o participante concorre a prêmios bem interessantes como uma LED 42’’, XBOXs, BluRay, Technet Plus e etc.

Inicialmente é possível ganhar pontos indicando amigos e baixando os softwares; depois vem as provas online para as quais você poderá se preparar assistindo aos webcasts… isso é só o começo, depois vem treinamentos e provas na Microsoft e a preparação de um vídeo onde o participante deverá demonstrar em 3 minutos a utilização de uma das novas tecnologias. A final é uma prova surpresa :D

Já rolaram duas provas online: Windows Server 2008 R2 e Exchange 2010; mas pra quem tá interessado, ainda dá tempo de se inscrever e correr atrás!

http://www.talentosmicrosoft.com.br/

To lutando pra garantir meu 12º lugar… mas tá difícil, risos, a concorrência é pesada :)

Bom jogo!

UPDATE em 22/07/2010:

Infelizmente não consegui ir muito longe no jogo, justamente durante a última prova da 3° etapa (que por sinal era a de SQL Server) meu Internet Explorer travou…  consegui chegar às quartas de final, mas a pontuação acumulada não foi suficiente pra avançar… a decepção foi grande, mas tudo bem.  Parabéns aos ganhadores! No ano que vem tem mais :)

Ranking usando ROW_NUMBER()

Posted in Dica rápida, Programação, SQL SERVER 2000, SQL SERVER 2005, SQL SERVER 2008, SQL SERVER 2008 R2, SQL SERVER 7 on July 22nd, 2008 by Silas Mendes – 1 Comment

Existem algumas coisas que não sabemos da existência, outras até conhecemos mas não temos idéia do dia que precisaremos delas. 

Há uns quatro anos eu precisava realizar uma consulta e retornar uma coluna com um seqüencial, numerando as linhas, algo bem simples assim:

 

cod_produto    des_produto                    sequencial

————– —————————— ————-

516E           Arroz                                1

03G            Azeitona                           2

98K            Salame                              3

514A           Tomate                            4

 

Como retornar um sequencial num comando Select simples? Eu não queria usar cursor, nem uma tabela auxiliar, nada disso, queria apenas um seqüencial, simples e objetivo. Enfim, procurei diversos meios e até hoje não soube uma forma simples de fazer isso no SQL Server 2000.

 

Com o SQL Server 2005 aquele bordão “Seus problemas acabaram” cabe perfeitamente nesse cenário. Existe uma função Row_Number() que  faz exatamente isso. Veja um exemplo:

 

SELECT

      cod_produto,

      des_produto,

      ROW_NUMBER() over (order by des_produto) sequencial

FROM

      tb_teste_produto

Como fica subtendido a consulta SQL irá retornar os campos da tabela mais um campo  seqüencial baseado na ordenação do nome do produto. 

Simples não é? 

Trabalhando com subconsultas é possível por exemplo atualizar todos os registros entre as linhas 60 e 80 de uma consulta… é o T-SQL dando suporte às nossas necessidades!

Se você tem outra solução para este cenário contribua deixando seu comentário :)