Compartilhar via


conjunto de registros: Obtendo somas e outros resultados agregados (ODBC)

Este tópico se aplica a classes MFC ODBC.

Este tópico explica como obter resultados agregados usando o seguinte SQL palavras-chave:

  • SOMA   Calcula o total dos valores em uma coluna com um tipo de dados numéricos.

  • MIN   Extrai o menor valor em uma coluna com um tipo de dados numéricos.

  • MÁX.   Extrai o maior valor em uma coluna com um tipo de dados numéricos.

  • MÉDIA   Calcula um valor médio de todos os valores em uma coluna com um tipo de dados numéricos.

  • CONTAGEM   Conta o número de registros em uma coluna de qualquer tipo de dados.

Você usar essas funções para obter informações estatísticas sobre os registros em uma fonte de dados em vez de para extrair os registros de fonte de dados.O conjunto de registros criado geralmente consiste em um único registro (se todas as colunas forem agregados) que contém um valor.(Pode haver mais de um registro que você usou um AGRUPAR POR cláusula.) Esse valor é o resultado do cálculo ou extração realizado pela função SQL.

Dica:

Para adicionar um SQL AGRUPAR POR cláusula (e possivelmente um TENDO cláusula) à demonstrativo SQL, anexar ao participante de m_strFilter.Por exemplo:

m_strFilter = "sales > 10 GROUP BY SALESPERSON_ID";

Você pode limitar o número de registros que você usa para obter resultados agregados, filtrando e classificando colunas.

Cuidado:

Alguns operadores de agregação retornam um tipo de dados diferentes das colunas através do qual eles são de agregação.

  • SOMA and MÉDIA podem retornar o próximo tipo de dados maior (por exemplo, chamar com int Retorna LONGO or duplo).

  • CONTAGEM normalmente retorne LONGO independentemente do tipo de coluna de destino.

  • MÁX. and MIN retornar o mesmo tipo de dados sistema autônomo colunas que calcular.

    For example, the Add Class wizard creates long m_lSales to accommodate a Sales column, but you need to replace this with a double m_dblSumSales data member to accommodate the aggregate result.Consulte o exemplo a seguir.

Para obter um resultado agregado para um conjunto de registros

  1. Criar um conjunto de registros sistema autônomo descrito em Adicionando um consumidor ODBC do MFC contendo colunas do qual você deseja obter resultados agregados.

  2. Modificar o DoFieldExchange função para o conjunto de registros.substituir a seqüência de caracteres que representa o nome da coluna (o segundo argumento do RFX chamadas de função) com uma seqüência de caracteres que representa a função de agregação na coluna.Por exemplo, substitua:

    RFX_Long(pFX, "Sales", m_lSales);
    

    com:

    RFX_Double(pFX, "Sum(Sales)", m_dblSumSales)
    
  3. Abra o conjunto de registros.O resultado da operação de agregação é deixado no m_dblSumSales.

Observação:

O assistente, na verdade, atribui nomes de membro de dados sem prefixos húngaras.Por exemplo, o Assistente produziria m_Sales para uma coluna de vendas, em vez da m_lSales nome usado anteriormente para ilustração.

Se você estiver usando um CRecordView classe para exibir os dados, você precisará alterar a telefonar de função DDX para exibir o novo valor de membro de dados; nesse caso, alterá-lo de:

DDX_FieldText(pDX, IDC_SUMSALES, m_pSet->m_lSales, m_pSet);

Para:

DDX_FieldText(pDX, IDC_SUMSALES, m_pSet->m_dblSumSales, m_pSet);

Consulte também

Conceitos

conjunto de registros (ODBC)

conjunto de registros: Como Recordsets selecionar registros (ODBC)