Pular para o conteúdo
  • Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 18 anos, 8 meses atrás por Avatar de sp66d_rac6rsp66d_rac6r.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #75442
    Avatar de sp66d_rac6rsp66d_rac6r
    Participante

      Olá Pessoal. Mudei de trampo e aqui ñ tenho a documentação do Oracle. Lembro de ter usado uma vez uma função que retornova o sum de um determinado campo, sem ser a função SUM, que ñ necessitava utilizar group by. Alguém pode ajudar?

      #75443
      Avatar de sp66d_rac6rsp66d_rac6r
      Participante

        Seria c/ o SUM () OVER () ?

        #75447
        Avatar de Marcio68AlmeidaMarcio68Almeida
        Participante

          O SUM é uma função de agrupamento, portanto você teria que usar o DISTINCT ou o GROUP BY.
          Essa opção OVER eu desconheço.

          #75452
          Avatar de sp66d_rac6rsp66d_rac6r
          Participante

            [quote=”sp66d_rac6r”:2x3ydbho]Seria c/ o SUM () OVER () ?[/quote]
            É esta sim.

            Vc pode somar colunas de uma select sem tem que usar o GROUP BY.
            P/ isto, basta:

            SELECT ….
            SUM() OVER (PARTITION BY ,,) AS SOMA
            FROM…..

            Exemplo: somar salários bruto por setor
            SELECT SUM(SAL.salario_brt) OVER (PARTITION BY SAL.setor),

            FROM SALARIO SAL, …
            WHERE …

            Isto é p/ qdo vc precisa somar várias colunas de uma select, e c/ agrupamentos diferentes. Evita o uso da sub-querys de sum no select.

            Vale tmbm p/ as funções: AVG, MAX, MIN e outras.

            Existe uma variante p/ este comando, que faz a soma acumulativa.

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.
          plugins premium WordPress