Diogo Teixeira Rossato escreveu:
> Procurei na documentacao do SUM, mas nao achei o que eu quero,
> existe alguma funcao que retorne a soma acumulada no select?
> tipo:
> 
> valor
> 100
> 200
> 150
> 120
> 
> 
> SELECT valor,SOMA(valor) AS soma
> valor | soma
> 100   |100
> 200   |300
> 150   |450
> 120   |570
> 


Talvez dê para adaptar (atenção para a ordenação da chave):

bdteste=# SELECT t1.id, t1.numero,
bdteste-#   (SELECT SUM(t2.numero) FROM tstnum t2
bdteste(#                          WHERE t2.id <= t1.id) AS Acumulado
bdteste-# FROM tstnum t1;
  id |   numero    |  acumulado
----+-------------+-------------
   1 | 12345678901 | 12345678901
   2 |   123456789 | 12469135690
   3 |     1234567 | 12470370257
   4 |      123456 | 12470493713
   5 |       12345 | 12470506058
   6 |        1234 | 12470507292
   7 |         123 | 12470507415
   8 |          12 | 12470507427
   9 |           1 | 12470507428
(9 registros)

[]s
Osvaldo

                
_______________________________________________________ 
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. 
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a