DB2 - Banco de dados - Instruções e Funções Básicas - COUNT


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COUNT

A função COUNT conta apenas valores não-nulos.
Portanto, o tipo de dados do resultado da função COUNT sempre possui o atributo NOT NULL.

Existem duas utilizações de COUNT:

  • COUNT com a palavra-chave DISTINCT, que possui dois formatos:
    • COUNT(DISTINCT colname)

      Conta as linhas retornadas nas quais há um valor não-nulo em uma coluna nomeada. Exclui duplicatas da contagem.

      Esse formato deve ser usado com um nome de coluna; ele não pode ser usado com uma expressão.
      Um exemplo deste formulário da função COUNT é mostrado abaixo:

         SELECT COUNT(DISTINCT DIVISION)
         FROM   Q.ORG

      O resultado é 4.

    • COUNT(DISTINCT expression)

      Retorna valores diferentes para as colunas de um grupo.
      Por exemplo, a consulta a seguir retorna o número de diferentes níveis de estudo dos candidatos ao emprego na tabela Q.APPLICANT, assim como o número médio de anos de estudo que os candidatos têm.

         SELECT COUNT(DISTINCT EDLEVEL), AVG(EDLEVEL)
         FROM   Q.APPLICANT
  • COUNT(*)

    Conta as linhas retornadas, independentemente do valor de quaisquer colunas.
    Esse formato não é usado com um nome de coluna.
    Exemplo:

       SELECT SUM(SALARY)
       ,      MIN(SALARY)
       ,      AVG(SALARY)
       ,      MAX(SALARY), COUNT(*)
       FROM   Q.STAFF WHERE DEPT = 10

    Esse exemplo inclui mais de uma função de coluna na instrução SELECT.
    Ele calcula e exibe, para o Departamento 10, a soma dos salários dos funcionários, os salários mínimo, médio e máximo;
    e o número de funcionários (COUNT) no departamento.
    Ele produz o seguinte relatório:

                     COL1        COL2                COL3        COL4         COL5
       ------------------  ----------  ------------------  ----------  -----------
                 83463.45    19260.25    20865.8625000000    22959.20            4


© Copyright IBM Corp.