[Dica] Coluna de Total Acumulado

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Sex, 05 Ago 2005 4:02 pm

Vejam esse sql - mostra o total acumulado da coluna! (sem usar função analítica)

Código: Selecionar todos
SELECT
  B.SAL
, SUM(A.SAL) ACUMULADO
FROM
  EMP A
, EMP B
WHERE A.ROWID <= B.ROWID
GROUP BY B.ROWID, B.SAL


Aí vai um exemplo:
Código: Selecionar todos
SQL> SELECT
  2    B.SAL
  3  , SUM(A.SAL) ACUMULADO
  4  FROM
  5    EMP A
  6  , EMP B
  7  WHERE A.ROWID <= B.ROWID
  8  GROUP BY B.ROWID, B.SAL
  9  /

       SAL  ACUMULADO
---------- ----------
       800        800
      1600       2400
      1250       3650
      2975       6625
      1250       7875
      2850      10725
      2450      13175
      3000      16175
      5000      21175
      1500      22675
      1100      23775
       950      24725
      3000      27725
      1300      29025
                29025

15 rows selected.

SQL>
Editado pela última vez por dr_gori em Qui, 15 Set 2005 11:48 am, em um total de 1 vez.
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered

Mensagemem Sex, 02 Set 2005 3:31 pm

Só para quem gostar de inventar moda.. mas quem não gosta?? Complicando ou descomplicando.. ai vai mais uma função analitica bem bacana... que tem o mesmo efeito.

Código: Selecionar todos
SELECT A.SAL
,      SUM( A.SAL ) OVER( ORDER BY A.SAL ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) ACUMULADO
FROM   EMP A
GROUP BY A.SAL
leobbg
Localização: PORTO ALEGRE - RS

Leo BBG Consultor Oracle


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes

cron