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.
Utilizando funções em SQL (parte 1)
outubro 3, 2007
A linguagem SQL é uma linguagem de banco de dados que disponibiliza muitos facilidades ao desenvolvedor, oferecendo algumas funções básicas, são elas:
Funções | Descrição |
AVG | Calcula a média dos registros do campo informado. |
SUM | Calcula a somatória dos registros do campo informado. |
COUNT | Faz a contagem de registros. |
MAX | Retorna o maior valor do campo especificado. |
MIN | Retorna o menor valor do campo especificado. |
É muito simples a utilização destas funções, basta aplicar o campo desejado entre parênteses na função, veja o exemplo abaixo:
SELECT
SUM(Valor)
FROM
Produto
Esta instrução irá retornar a somatória dos valores de todos os produtos existentes na tabela ‘Produto’. Pode atribuir uma condição, como por exemplo, somar todos os que o valor seja maior que R$ 50,00, isso depende da necessidade.
A instrução a seguir informa a média da primeira nota do primeiro bimestre de todos os alunos (Aluno) cujo estejam entre a 6º e a 8º série.
SELECT
AVG(Nota1)
FROM
Aluno
WHERE
Serie BETWEEN 6 AND 8
Ai vai mais alguns exemplos das outras funções:
SELECT COUNT(*) FROM Fornecedor
SELECT MAX(Salario) FROM Funcionario
SELECT MIN(Salario) FROM Funcionario
Espero que seja útil este artigo, não deixe de comentar.