Partilhar via


Trabalhando com colunas em consultas agregadas

Quando você cria consultas agregadas o Consulta and View Designer Tools faz algumas suposições de forma que ele pode construir uma consulta válida. Por exemplo, se você estiver criando uma consulta de agregação e marca uma coluna de dados para saída, o Query e View Designer automaticamente torna o coluna parte da cláusula agrupar BY, para que você inadvertidamente não tente exibir o Sumário de uma linha individual em um resumo.

Usando o agrupar por

O consulta e View Designer usa as seguintes diretrizes para trabalhar com colunas:

  • Quando você escolher a opção Agrupar por ou adiciona uma função de agregação a uma consulta, todas as colunas marcadas para saída ou usado para classificação são adicionadas automaticamente à cláusula GROUP BY.Colunas não são adicionadas automaticamente à cláusula agrupar BY se elas já forem parte de uma função de agregação.

    Se não quiser que uma determinada coluna fazer parte da cláusula agrupar BY, você deve alterar isso manualmente, selecionando uma opção diferente na coluna agrupar By do painel Critérios.No entanto, o Query e View Designer não impedirão você escolher uma opção que pode resultar em uma consulta que não será executado.

  • Se você adicionar manualmente uma coluna de saída de consulta para um agregado funciona em qualquer um o critério ou painel SQL, o Query e View Designer não remove automaticamente Outros colunas da consulta de saída.Portanto, você deve remover as colunas remanescentes da saída de consulta ou torná-las parte de cláusula agrupar BY ou de uma função de agregação.

Quando você digita um critério de Pesquisar para a coluna de filtro do painel de critérios, o consulta e View Designer segue estas regras:

  • Se o Agrupar por coluna da grade não é exibida (porque você ainda não especificou uma consulta de agregação), o critério de Pesquisar é colocado dentro da cláusula WHERE.

  • Se você já estiver em uma consulta de agregação e selecionou a opção Onde in the Agrupar por coluna, o critério de Pesquisar é colocada dentro da cláusula WHERE.

  • Se o Agrupar por coluna contiver qualquer valor diferente de Onde, o critério de Pesquisar é colocado na cláusula HAVING.

Usando o HAVING e WHERE cláusulas

Os princípios a seguir descrevem como você pode referenciar colunas em uma consulta de agregação em critérios de Pesquisar.Em geral, você pode usar uma coluna em um critério de Pesquisar para filtrar linhas que devem ser resumidos (uma cláusula WHERE) ou para determinar qual agrupados resultados aparecem na saída final (uma cláusula HAVING).

  • Colunas de dados individuais podem aparecer em WHERE ou HAVING cláusula, dependendo de como eles são usados em outro lugar na consulta.

  • WHERE cláusulas são usadas para selecionar um subconjunto de linhas para resumir e agrupar e, portanto, sejam aplicadas antes que qualquer agrupamento é concluído.Portanto, você pode usar uma coluna de dados em uma cláusula WHERE mesmo que não seja parte da cláusula agrupar BY ou contida em uma função de agregação.Por exemplo, a demonstrativo a seguir seleciona todos os títulos que custam mais de US$ 10,00 e calcula a média de preço:

    SELECT AVG(price)
    FROM titles
    WHERE price > 10
    
  • Se você criar um critério de Pesquisar que envolve uma coluna também é usada em uma cláusula agrupar BY ou função de agregação, o critério de Pesquisar pode aparecer sistema autônomo uma cláusula WHERE ou uma cláusula HAVING — você pode decidir que, quando você criar a condição.Por exemplo, a demonstrativo a seguir cria um preço médio para os títulos para cada editora e, em seguida, exiba a média de editores em que o preço médio é maior do que r $ 10,00:

    SELECT pub_id, AVG(price)
    FROM titles
    GROUP BY pub_id
    HAVING (AVG(price) > 10)
    
  • Se você usar uma função de agregação em um critério de Pesquisar, a condição envolve um resumo e, portanto, deve ser parte da cláusula HAVING.

Consulte também

Outros recursos

Resumindo os resultados da consulta

Classificar e agrupar os resultados da consulta