Compartilhar via


Recolhendo 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, há várias coisas em mente:

  • Você pode eliminar linhas duplicadas algumas consultas podem criar resultado define em qual 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.O 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 todas as colunas diferentes de cidade e estado, há uma forma 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).O SQL resultante pode parecer com isso:

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

    Obviamente, a consulta anterior elimina o sintoma, mas não resolve 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 original de resultados e continuar com cada linha descrevendo uma cidade, você pode criar uma consulta retornar somente as linhas distintas.O 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 fazer cálculos com grupos de linhas , ou seja, você pode resumir as 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 naquela cidade.O SQL resultante pode parecer com isso:

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

    Para obter detalhes sobre como calcular com grupos de linhas, consulte Resumindo os resultados da consulta e Classificar e agrupar os resultados da consulta.

  • Você pode usar o critério 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 naquela cidade.O 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 com grupos de linhas, consulte Como: especificar condições para grupos e Como: usar 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