Somando valores em SQL

Outubro 17, 2007

Muitas vezes é necessário obter a somatória dos valores para uma amostragem posterior. A instrução a seguir demonstrará como retornar a somatória parcial de compras agrupadas por fornecedor e por último irá mostrar a somatória total destes valores.

SELECT

ID,

SUM(ValorTotal) ‘Valor Total do Fornecedor’,

GROUPING(ID) ‘GRP’

FROM

Compra

GROUP BY

ID

WITH ROLLUP

Como podem ver é uma instrução comum de agrupamento exceto pela instrução GROUPING. Esta instrução indica 0 quando o agrupamento não corresponde ao total somado e 1 quando é o total de todos os valores do campo somados, possibilitando assim saber qual é o valor parcial e total em apenas uma consulta. Já a instrução ROLLUP permite agregar valores conforme as condições estabelecidas.

4 Respostas a “Somando valores em SQL”


  1. a clausula GROUPING não funciona no IBEXPERT???

  2. João Paulo Diz:

    Ficaria mais legal se colacar um ISNULL(ID, ‘TOTAL ===>’)
    Aparecendo na última linha da consulta utilizando o WITH ROLLUP

    SELECT

    ISNULL(ID, ‘TOTAL’) AS ID,

    SUM(ValorTotal) ‘Valor Total do Fornecedor’,

    GROUPING(ID) ‘GRP’

    FROM

    Compra

    GROUP BY

    ID

    WITH ROLLUP

  3. Triplo X Diz:

    Poxa cara, a partir desse comando eu criei vários outros comandos, não fugindo da sintaxe SQL.

    Parabéns.
    Continue postando artigos legais. ;)

  4. Douglas Reck Diz:

    Interessante a solução e prática tb.
    Porém, seria mais interessante ainda se fosse especificado para quais sgbds essa solução funciona.

    Att,


Deixe uma resposta