Como: Agrupar linhas em resultados de consulta

Se você deseja criar subtotais ou mostrar outros resumos informativos para subconjuntos de uma tabela, você pode criar grupos usando uma consulta agregada. Cada grupo resume os dados para todas as linhas na tabela que possuem o mesmo valor.

Por exemplo, você talvez queira ver o preço médio de um livro na titles da tabela, mas dividir os resultados pelo publisher. Para fazer isso, agrupe a consulta por editora (por exemplo, pub_id). A saída de consulta resultante pode parecer com isso:

Captura de tela de QueryGroupingRowsResultsPane

Ao agrupar dados, você pode exibir somente resumo ou dados agrupados, como:

  • Os valores das colunas agrupadas (aquelas que aparecem na cláusula GROUP BY). No exemplo acima, pub_id é a coluna agrupada.

  • Valores gerados por funções agregadas como SUM () e AVG (). No exemplo acima, a segunda coluna é produzida usando a função AVG () com o price coluna.

Você não pode exibir os valores de linhas individuais. Por exemplo, se você agrupar apenas por editora, também não pode exibir títulos individuais na consulta. Portanto, se você adicionar colunas ao resultado da consulta, o Query e View Designer adiciona automaticamente à cláusula GROUP BY da instrução no o painel SQL. Se você quiser uma coluna a ser agregado em vez disso, você pode especificar uma função agregada para aquela coluna.

Se você agrupar por mais de uma coluna, cada grupo na consulta mostra os valores agregados para todas as colunas de agrupamento.

Por exemplo, a seguinte consulta contra o titles tabela agrupa por editora (pub_id) e também por tipo de livro (type). Os resultados da consulta são ordenados por editora e mostram informações de resumo para cada tipo diferente de livro que a editora produz:

SELECT pub_id, type, SUM(price) Total_price
FROM titles
GROUP BY pub_id, type

A saída resultante pode parecer com isso:

Captura de tela de QueryGroupingRowsSampleOutput

ObservaçãoObservação

The dialog boxes and menu commands you see might differ from those described in Help depending on your active settings or edition. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. For more information, see Trabalhando com configurações.

Para agrupar linhas

  1. Para iniciar a consulta adicionando as tabelas que você deseja resumir ao painel do diagrama.

  2. Clique com o botão direito no plano de fundo do painel do diagrama e escolha Adicionar Group By no menu de atalho. A consulta e o modo de exibição Designer adiciona uma Group By coluna na grade no painel de critérios.

  3. Adicione a coluna ou colunas que você deseja agrupar ao painel de critérios. Se desejar que a coluna apareça na saída da consulta, ter certeza de que o saída coluna é marcada para saída.

    A consulta e o modo de exibição Designer adiciona uma cláusula GROUP BY à instrução no painel de SQL. Por exemplo, a instrução de SQL pode parecer como este:

    SELECT pub_id
    FROM titles
    GROUP BY pub_id
    
  4. Adicione a coluna ou colunas que deseja agregar ao painel de critérios. Certifique-se de que a coluna está marcada para saída.

  5. No Group By a célula de grade para a coluna que irá ser agregados, selecione a função agregada adequada.

    A consulta e o modo de exibição Designer atribui automaticamente um alias de coluna para a coluna que você está resumindo. Você pode substituir o alias gerado automaticamente com mais significado. For more details, see Como: Criar Aliases de coluna.

    Captura de tela de QueryGroupingRows

    A instrução correspondente na SQL painel teria esta aparência:

    SELECT   pub_id, SUM(price) AS Totalprice
    FROM     titles
    GROUP BY pub_id
    

Consulte também

Outros recursos

Classificar e agrupar os resultados da consulta