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.

Novembro 9, 2007 às 7:34 pm
a clausula GROUPING não funciona no IBEXPERT???
Agosto 19, 2008 às 5:38 pm
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
Setembro 16, 2008 às 4:03 am
Poxa cara, a partir desse comando eu criei vários outros comandos, não fugindo da sintaxe SQL.
Parabéns.
Continue postando artigos legais.
Novembro 26, 2009 às 6:48 pm
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,