Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
dr_gori
Moderador
Mensagens: 5024 Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Sex, 05 Ago 2005 4:02 pm
Vejam esse sql - mostra o total acumulado da coluna! (sem usar função analítica)
Selecionar tudo
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:
Selecionar tudo
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.
leobbg
Rank: Programador Júnior
Mensagens: 22 Registrado em: Sex, 29 Out 2004 10:25 am
Localização: PORTO ALEGRE - RS
Leo BBG Consultor Oracle
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.
Selecionar tudo
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
Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes