Funções de Agregação

     São programas que o BD provê para permitir transformar um conjunto de valores em um valor simples.

COUNT(*): Quantidade de registros.

Exemplo:
        Considere a tabela FUNCIONARIO.
        Para mostrar a quantidade de funcionários:
SELECT COUNT(*)
  FROM FUNCIONARIO

         Irá resultar em:
COUNT
10

        Porém, para mostrar a quantidade de funcionários da mesma UF:
SELECT FUN_UF, COUNT(*)
  FROM FUNCIONARIO
 GROUP BY FUN_UF

         Irá resultar em:
FUN_UF
COUNT
BA 1
CE 3
DF 1
PR 1
RJ 2
SP
2

MIN(campo): Valor mínimo (menor).

Exemplo:
        Para mostrar o menor salário dentre os funcionários:
SELECT MIN(FUN_SALARIO)
  FROM FUNCIONARIO

         Irá resultar em:
MIN
100

        Porém, para mostrar o menor salário na UF:
SELECT FUN_UF, MIN(FUN_SALARIO)
  FROM FUNCIONARIO
 GROUP BY FUN_UF

         Irá resultar em:
FUN_UF
MIN
BA
1900
CE
100
DF
100
PR
2400
RJ
2200
SP
900

MAX(campo): Valor máximo (maior).

Exemplo:
        Para mostrar o maior salário dentre os funcionários:
SELECT MAX(FUN_SALARIO)
  FROM FUNCIONARIO

         Irá resultar em:
MAX
100

        Porém, para mostrar o maior salário na UF:
SELECT FUN_UF, MAX(FUN_SALARIO)
  FROM FUNCIONARIO
 GROUP BY FUN_UF

         Irá resultar em:
FUN_UF
MAX
BA
1900
CE
700
DF
100
PR
2400
RJ
3000
SP
1300

SUM(campo): Valor total (somatória).

Exemplo:
        Para mostrar o valor total pago em salário de funcionários:
SELECT SUM(FUN_SALARIO)
  FROM FUNCIONARIO

         Irá resultar em:
F_1
13100

        Porém, para mostrar o valor total pago em salário em cada UF:
SELECT FUN_UF, SUM(FUN_SALARIO)
  FROM FUNCIONARIO
 GROUP BY FUN_UF

         Irá resultar em:
FUN_UF
F_1
BA
1900
CE
1300
DF
100
PR
2400
RJ
5200
SP
2200

AVG(campo): Valor médio (média aritmética).

Exemplo:
        Para mostrar o valor médio pago em salário de funcionários:
SELECT AVG(FUN_SALARIO)
  FROM FUNCIONARIO

         Irá resultar em:
F_1
1310

        Porém, para mostrar o valor médio pago em salário em cada UF:
SELECT FUN_UF, AVG(FUN_SALARIO)
  FROM FUNCIONARIO
 GROUP BY FUN_UF

         Irá resultar em:
FUN_UF
F_1
BA
1900
CE
433,33
DF
100
PR
2400
RJ
2600
SP
1100

        Entretanto, para mostrar o valor médio pago em salário em cada UF que ultrapasse 1500:
SELECT FUN_UF, AVG(FUN_SALARIO)
  FROM FUNCIONARIO
 GROUP BY FUN_UF
HAVING AVG(FUN_SALARIO) > 1500


         Irá resultar em:
FUN_UF
F_1
BA
1900
PR
2400
RJ
2600



Hosted by www.Geocities.ws

1