Delen via


Rijen groeperen in queryresultaten (Hulpmiddelen voor visuele databases)

van toepassing op:SQL Server-

Als u subtotalen wilt maken of andere samenvattingsgegevens voor subsets van een tabel wilt weergeven, maakt u groepen met behulp van een statistische query. Elke groep bevat een overzicht van de gegevens voor alle rijen in de tabel met dezelfde waarde.

U wilt bijvoorbeeld de gemiddelde prijs van een boek in de tabel titles zien, maar de resultaten opsplitsen per uitgever. Hiervoor groepeer u de query op uitgever (bijvoorbeeld pub_id). De resulterende queryuitvoer kan er als volgt uitzien:

Queryresultaten: gemiddelde prijs gegroepeerd op uitgever

Wanneer u gegevens groeperen, kunt u alleen samenvattings- of gegroepeerde gegevens weergeven, zoals:

  • De waarden van de gegroepeerde kolommen (die worden weergegeven in de GROUP BY-component). In het bovenstaande voorbeeld is pub_id de gegroepeerde kolom.

  • Waarden die worden geproduceerd door statistische functies zoals SUM( ) en AVG( ). In het bovenstaande voorbeeld wordt de tweede kolom geproduceerd met behulp van de functie AVG( ) met de kolom price.

U kunt geen waarden uit afzonderlijke rijen weergeven. Als u bijvoorbeeld alleen groeperen op uitgever, kunt u niet ook afzonderlijke titels in de query weergeven. Als u daarom kolommen toevoegt aan de queryuitvoer, voegt de Query en View Designer deze automatisch toe aan de GROUP BY-component van de instructie in het SQL-deelvenster. Als u in plaats daarvan een kolom wilt aggregeren, kunt u een statistische functie voor die kolom opgeven.

Als u groepeert op meer dan één kolom, worden in elke groep in de query de geaggregeerde waarden voor alle groeperingskolommen weergegeven.

Tegen de titles-tabel groepeert bijvoorbeeld de volgende query per uitgever (pub_id) en op boektype (type). De queryresultaten worden gesorteerd op uitgever en bevatten samenvattingsinformatie voor elk ander type boek dat de uitgever produceert:

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

De resulterende uitvoer kan er als volgt uitzien:

Queryresultaten: prijs gegroepeerd op uitgever en type

Rijen groeperen

  1. Start de query door de tabellen toe te voegen die u wilt samenvatten in het deelvenster Diagram.

  2. Klik met de rechtermuisknop op de achtergrond van het deelvenster Diagram en kies vervolgens Groep toevoegen op in het snelmenu. De query- en weergaveontwerper voegt een Group By-kolom toe aan de tabel in het deelvenster Criteria.

  3. Voeg de kolom of kolommen die u wilt groeperen toe aan het deelvenster Criteria. Als u wilt dat de kolom wordt weergegeven in de queryuitvoer, moet u ervoor zorgen dat de kolom Uitvoer is geselecteerd voor uitvoer.

    De ontwerpfunctie voor query's en weergaven voegt een GROUP BY-component toe aan de instructie in het SQL-deelvenster. De SQL-instructie kan er bijvoorbeeld als volgt uitzien:

    SELECT pub_id  
    FROM titles  
    GROUP BY pub_id  
    
  4. Voeg de kolom of kolommen die u wilt samenvoegen toe aan het deelvenster Criteria. Zorg ervoor dat de kolom is gemarkeerd voor uitvoer.

  5. Selecteer in de Group By rastercel voor de kolom die wordt geaggregeerd, de juiste aggregatiefunctie.

    De ontwerpfunctie voor query's en weergaven wijst automatisch een kolomalias toe aan de kolom die u samenvat. U kunt deze automatisch gegenereerde alias vervangen door een zinvollere alias. Voor meer informatie, zie Kolomaliassen maken.

    Een kolomalias toevoegen aan de queryresultatenset

    De bijbehorende instructie in het deelvenster SQL ziet er mogelijk als volgt uit:

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

Zie ook

queryresultaten sorteren en groeperen