Compartilhar via


O recolhimento de grupos de linhas

Você pode criar um resultado de consulta no qual resultado de cada linha corresponde a um grupo inteiro de linhas dos dados originais. Ao recolher linhas, existem várias coisas em mente:

  • Você pode eliminar linhas duplicadas algumas consultas podem criar resultado define quais aparecem diversas linhas idênticas. Por exemplo, você pode criar um conjunto de resultados no qual cada linha contém a cidade e o nome do estado de uma cidade que contém um autor – mas se a cidade tiver diversos autores, haverá diversas linhas idênticas. A SQL resultante pode parecer com isso:

    SELECT city, state
    FROM authors
    

    O conjunto de resultados gerado pela consulta anterior não é muito útil. Se uma cidade contiver quatro autores, o conjunto de resultados incluirá quatro linhas idênticas. Desde que o conjunto de resultados não inclui quaisquer colunas diferentes de cidade e estado, não há nenhuma maneira de distinguir as linhas idênticas entre si. Uma maneira para evitar a duplicação de linhas é incluir colunas adicionais que podem tornar as linhas diferentes. Por exemplo, se você incluir o nome do autor, cada linha será diferente (desde que nenhum dois autores de nome semelhante ao vivo dentro da mesma cidade). A SQL resultante pode parecer com isso:

    SELECT city, state, fname, minit, lname
    FROM authors
    

    Obviamente, a consulta anterior elimina o sintoma, mas realmente não resolver o problema. Ou seja, o conjunto de resultados não contém duplicatas, mas não é mais um conjunto de resultados de cidades. Para eliminar duplicações no conjunto de resultados original e ainda ter cada linha descrevendo uma cidade, você pode criar uma consulta retornar somente as linhas distintas. A SQL resultante pode parecer com isso:

    SELECT DISTINCT city, state
    FROM authors
    

    Para obter detalhes sobre a eliminação de duplicatas, consulte Como: Excluir linhas duplicadas.

  • Você pode calcular com grupos de linhas , ou seja, você pode resumir informações em grupos de linhas. Por exemplo, você pode criar um conjunto de resultados no qual cada linha contém o nome de cidade e estado de uma cidade que contém um autor, mais uma contagem do número de autores contidos naquela cidade. A SQL resultante pode parecer com isso:

    SELECT city, state, COUNT(*)
    FROM authors
    GROUP BY city, state
    

    Para obter detalhes sobre o cálculo de grupos de linhas, consulte Resumindo os resultados da consulta e Classificar e agrupar resultados de consulta.

  • Você pode usar critérios de seleção para incluir grupos de linhas , por exemplo, você pode criar um conjunto de resultados no qual cada linha contém o nome de cidade e estado de uma cidade que contém diversos autores, mais uma contagem do número de autores contidos naquela cidade. A SQL resultante pode parecer com isso:

    SELECT city, state, COUNT(*)
    FROM authors
    GROUP BY city, state
    HAVING COUNT(*) > 1
    

    Para obter detalhes sobre como aplicar critérios de seleção em grupos de linhas, consulte Como: Especificar condições para grupos e Como: Use HAVING e onde as cláusulas na mesma consulta.

Consulte também

Outros recursos

Especificando critérios de pesquisa

Criação de consultas e exibições