Pode muito bem ser , mas como o colega lá citou que queria usar o SUM como uma função de grupo E como uma analisadora, de cara Imaginei que era Exigido o GROUP BY, transformando o SUM numa função de grupo propriamente dita... Mas realmente, se agrupar uma Partição de registros ao invés de agrupar "hard", via GROUP BY, aí não tem impedância, o grupo não vai "fundir" registros, vc terá os detalhes, aí ANALYTICS podem atuar em cima disso ...
Pode ser isso, Emerson, ou a tua lógica EXIGE um GROUP BY ? []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Alencar <alencarboito@...> escreveu > > Bom Dia Chiappa e Émerson, > > uma solução para esse caso pode ser utilizando PARTITION BY. > Tomando como base o exemplo citado pelo Chiappa, podemos retornar o o > salário de cada funcionário e uma coluna com o salário acumulando por > estado. Neste caso, o query_partition_clause, que define a partição a ser > avaliada, é informado o campo estado. > > O select fica da seguinte forma: > select estado > , nome > , salario > , sum(salario) OVER (PARTITION BY estado ORDER BY estado desc ROWS > UNBOUNDED PRECEDING) acumulado_por_estado > from empregados > > E o resultado é mais ou menos esse: > ESTADO NOME SALÁRIO ACUMULADO_POR_ESTADO > ------ ---- ------- --------------- > São Paulo joão R$ 10,00 R$ 10,00 > São Paulo zé R$ 15,00 R$ 25,00 > Rio Luis R$ 5,00 R$ 5,00 > Rio mané R$ 8,00 R$ 13,00 > > > Abraços! > Alencar > > > > Em 17 de outubro de 2013 10:20, J. Laurindo Chiappa > <jlchiappa@...>escreveu: > > > ** > > > > > > Dia... Eu ** duvido **, colega : veja vc, a função analítica faz uma > > soma/contagem/operação em cima de CADA linha lida com uma determinada > > ordem, enquanto as funções de grupo 9que EXIGEM um GROUP BY) *** JUNTAM *** > > múltiplas linhas em uma só.... Logicamente falando, é algo assim : > > > > => agrupamento feito com analytics da soma de salários por região : > > > > 1 São Paulo joão R$ 10,00 > > 1 São Paulo zé R$ 15,00 > > -------- > > R$ 25,00 > > > > 2 Rio Luis R$ 5,00 > > 2 Rio mané R$ 8,00 > > -------- > > 13,00 > > > > OU SEJA, analytics basicamente ORDENAM o resultset por uma determinada > > chave (que seria a região no meu "exemplo"), formando grupos mas SEM > > interferir nos registros em princípio, e quando a chave muda ele considera > > um fim de grupo... Já a função de grupo (com GROUP BY na chave região) me > > retornaria : > > > > 1 São Paulo R$ 25,00 > > > > 2 Rio R$ 13,00 > > > > OU SEJA , GROUP BY (que é o que a função de grupo exige) logicamente > > faland lêem os registros que obedecem á chave e TRANSFORMAM , JUNTAM, > > FUNDEM esses N registros em um só, somando/contando/dando a > > média/mínimo/máximo/whatever de um valor, MAS os detalhes de cada registro > > vc perdeu, eles foram logicamente ENSANDUICHADOS, JUNTADOS, COLADOS, okdoc > > ?? > > > > No máximo o que vc poderia fazer é alguma sub-querie, tipo : > > > > SELECT colunas, SUM(coluna) FROM (select que lê dados e ordena/agrupa via > > analytics) > > GROUP BY algimacoluna; > > > > isso é possível, mas NA MESMA QUERY ter analytics (que lê linha a linha) E > > função de grupo (que destrói, cola, mergeia as linhas) ao mesmo tempo acho > > difícil, são coisas meio antagônicas, né ? > > > > []s > > > > Chiappa > > > > --- Em oracle_br@yahoogrupos.com.br, Emerson Sanches <emerson.sanches@> > > escreveu > > > > > > Bom dia pessoal da lista, estou tentando usar a função SUM como função > > > agregada e como função analítica ao mesmo tempo, na mesma select e esta > > > retornando um erro, é possível fazer isso? > > > > > > Obrigado pela atenção > > > > > > > > > Emerson Sanches > > > Analista de Sistemas > > > > > > > > > >