Delen via


Rijgroepen samenvouwen (Hulpmiddelen voor visuele databases)

van toepassing op:SQL Server-

U kunt een queryresultaat maken waarin elke resultaatrij overeenkomt met een hele groep rijen uit de oorspronkelijke gegevens. Wanneer u rijen samenvouwt, zijn er verschillende dingen waarmee u rekening moet houden:

  • U kunt dubbele rijen elimineren Sommige query's kunnen resultatensets maken waarin meerdere identieke rijen worden weergegeven. U kunt bijvoorbeeld een resultatenset maken waarin elke rij de plaats en staatsnaam van een plaats bevat die een auteur bevat, maar als een stad meerdere auteurs bevat, zijn er verschillende identieke rijen. De resulterende SQL kan er als volgt uitzien:

    SELECT city, state  
    FROM authors  
    

    De resultatenset die door de voorgaande query is gegenereerd, is niet erg nuttig. Als een plaats vier auteurs bevat, bevat de resultatenset vier identieke rijen. Omdat de resultatenset geen andere kolommen bevat dan plaats en staat, is er geen manier om de identieke rijen van elkaar te onderscheiden. Een manier om dergelijke dubbele rijen te voorkomen, is door extra kolommen op te nemen die de rijen anders kunnen maken. Als u bijvoorbeeld de naam van de auteur opneemt, is elke rij anders (op voorwaarde dat er geen twee like-named auteurs in één plaats wonen). De resulterende SQL kan er als volgt uitzien:

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

    Natuurlijk elimineert de voorgaande query het symptoom, maar lost het probleem niet echt op. Dat wil gezegd: de resultatenset heeft geen duplicaten, maar het is geen resultatenset meer over steden. Als u duplicaten in de oorspronkelijke resultatenset wilt elimineren en elke rij nog steeds een plaats wilt beschrijven, kunt u een query maken die alleen afzonderlijke rijen retourneert. De resulterende SQL kan er als volgt uitzien:

    SELECT DISTINCT city, state  
    FROM authors  
    

    Zie Dubbele rijen (Visual Database Tools) uitsluitenvoor meer informatie over het elimineren van duplicaten.

  • U kunt berekenen op groepen rijen Dat wil gezegd, u kunt informatie samenvatten in groepen rijen. U kunt bijvoorbeeld een resultatenset maken waarin elke rij de plaats en staatsnaam van een plaats bevat die een auteur bevat, plus een telling van het aantal auteurs in die stad. De resulterende SQL kan er als volgt uitzien:

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

    Zie Sommeer de queryresultaten (Visual Database Tools) en Sorteer en groepeer de queryresultaten (Visual Database Tools)voor details over het berekenen van groepen rijen.

  • U kunt selectiecriteria gebruiken om groepen rijen op te nemen U kunt bijvoorbeeld een resultatenset maken waarin elke rij de plaats en staatsnaam van een stad bevat die meerdere auteurs bevat, plus een telling van het aantal auteurs in die stad. De resulterende SQL kan er als volgt uitzien:

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

    Zie voor meer informatie over het toepassen van selectiecriteria voor groepen rijen Voorwaarden voor groepen (Visual Database Tools) en Gebruik HAVING- en WHERE-clausules in dezelfde query (Visual Database Tools).

Zie ook

Zoekcriteria (Hulpmiddelen voor visuele databases) opgeven
Ontwerpquery's en instructies voor onderwerpen (Visual Database Tools)