Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando você cria consultas agregadas, as Ferramentas de Designer de Consulta e Exibição (Visual Database Tools) fazem determinadas suposições para que ela possa construir uma consulta válida. Por exemplo, se você estiver criando uma consulta de agregação e marcar uma coluna de dados para saída, o Designer de Consulta e Exibição fará automaticamente a parte da coluna da GROUP BY cláusula para que você não tente exibir inadvertidamente o conteúdo de uma linha individual em um resumo.
Usar Grupo por
O Designer de Consulta e Exibição usa as seguintes diretrizes para trabalhar com colunas:
Quando você escolhe a opção Agrupar por ou adiciona uma função de agregação a uma consulta, todas as colunas marcadas para saída ou usadas para classificação são adicionadas automaticamente à
GROUP BYcláusula. As colunas não serão adicionadas automaticamente àGROUP BYcláusula se já fizerem parte de uma função de agregação.Se você não quiser que uma coluna específica faça parte da cláusula, altere-a
GROUP BYmanualmente selecionando uma opção diferente na coluna Agrupar por do painel Critérios. No entanto, o Designer de Consulta e Exibição não impede que você escolha uma opção que possa resultar em uma consulta que não seja executada.Se você adicionar manualmente uma coluna de saída de consulta a uma função de agregação no painel Critérios ou SQL, o Designer de Consulta e Exibição não removerá automaticamente outras colunas de saída da consulta. Portanto, você deve remover as colunas restantes da saída da consulta ou torná-las parte da
GROUP BYcláusula ou de uma função de agregação.
Quando você insere uma condição de pesquisa na coluna Filtro do painel Critérios, o Designer de Consulta e Exibição segue estas regras:
Se a coluna Agrupar por da grade não for exibida (porque você ainda não especificou uma consulta de agregação), a condição de pesquisa será colocada na
WHEREcláusula.Se você já estiver em uma consulta de agregação e tiver selecionado a opção Onde na coluna Agrupar Por , a condição de pesquisa será colocada na
WHEREcláusula.Se a coluna Agrupar Por contiver qualquer valor diferente de Onde, a condição de pesquisa será colocada na
HAVINGcláusula.
Usar as cláusulas HAVING e WHERE
Os princípios a seguir descrevem como você pode referenciar colunas em uma consulta agregada em condições de pesquisa. Em geral, você pode usar uma coluna em uma condição de pesquisa para filtrar as linhas que devem ser resumidas (uma WHERE cláusula) ou determinar quais resultados agrupados aparecem na saída final (uma HAVING cláusula).
Colunas de dados individuais podem aparecer na cláusula ou
HAVINGnaWHEREcláusula, dependendo de como elas são usadas em outro lugar na consulta.WHEREas cláusulas são usadas para selecionar um subconjunto de linhas para resumir e agrupar e, portanto, são aplicadas antes de qualquer agrupamento ser feito. Portanto, você pode usar uma coluna de dados em umaWHEREcláusula mesmo que ela não faça parte daGROUP BYcláusula ou esteja contida em uma função de agregação. Por exemplo, a instrução a seguir seleciona todos os títulos que custam mais de US$ 10,00 e faz a média do preço:SELECT AVG(price) FROM titles WHERE price > 10;Se você criar uma condição de pesquisa que envolva uma coluna também usada em uma
GROUP BYcláusula ou função de agregação, a condição de pesquisa poderá aparecer como umaWHEREcláusula ou umaHAVINGcláusula - você pode decidir qual quando criar a condição. Por exemplo, a instrução a seguir cria um preço médio para os títulos de cada editor e exibe a média para os editores em que o preço médio é maior que US$ 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 uma condição de pesquisa, a condição envolverá um resumo e, portanto, deverá fazer parte da
HAVINGcláusula.