Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1088
Assunto : SQL Server
Titulo: Criando "running totals" de forma simples

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



"Running totals" são totais acumulativos, totais calculados linha a linha e que se somam ao valor de total da linha anterior.

Por exemplo, calcular linha a linha (de itens) o valor total de uma nota fiscal, a cada linha mostrando o valor parcial até aquele ponto.

Antigamente obter um total como esse envolveria um complexo trabalho com sub-queries. Porém com o uso da clausula OVER permite gerar esse total de forma bem mais simples.

A clausula OVER permite inserir uma função de agregação entre a lista de campos da query sem a necessidade de aplicar group by ou order by : A clausula OVER permite especificar ambos apenas para a função de agregação, simplificando muito o que antes era feito com sub-queries.

No SQL Server 2012 a clausula OVER ganhou novas opções que permitem a obtenção de running totals e muitos outros cálculos com facilidade.

Veja um exemplo :

select *, sum(Unitprice * quantity)
over (order by orderid rows between unbounded
preceding and current row) as total
from [order details]
order by orderid


Na instrução acima :

unbounded preceding indica a primeira linha de uma coleção de linhas, neste exemplo a primeira.

current row indica a linha atual para a qual é feito o processamento.

Desta forma estamos pedindo para que a cada linha seja feita uma soma desde a 1a linha até a linha atual.


Essa síntaxe é uma das muitas novidades do SQL Server 2012.

Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br