Delen via


Waarden samenvatten of aggregeren voor alle rijen in een tabel (Visual Database Tools)

van toepassing op:SQL Server-

Aggregatiefunctie

Met behulp van een statistische functie kunt u een samenvatting maken voor alle waarden in een tabel. U kunt bijvoorbeeld een query zoals de volgende maken om de totale prijs voor alle boeken in de tabel titles weer te geven:

SELECT SUM(price)
FROM titles;

Maak meerdere aggregaties in dezelfde query met behulp van statistische functies met meer dan één kolom. U kunt bijvoorbeeld een query maken waarmee het totaal van de price kolom en het gemiddelde van de discount kolom wordt berekend.

U kunt dezelfde kolom op verschillende manieren aggregeren (zoals totalen, tellen en gemiddelden) in dezelfde query. De volgende query berekent het gemiddelde van en geeft een samenvatting van de price-kolom uit de titles-tabel.

SELECT AVG(price),
       SUM(price)
FROM titles;

Als u een zoekvoorwaarde toevoegt, kunt u de subset rijen aggregeren die aan die voorwaarde voldoen.

Notitie

U kunt ook alle rijen in de tabel tellen of de rijen die aan een specifieke voorwaarde voldoen. Zie Aantal rijen in een tabel (Hulpmiddelen voor Visual Database) voor meer informatie.

Wanneer u één aggregatiewaarde maakt voor alle rijen in een tabel, worden alleen de cumulatieve waarden zelf weergegeven. Als u bijvoorbeeld de waarde van de price kolom van de titles tabel in totaal opgeeft, kunt u niet ook afzonderlijke titels, uitgeversnamen enzovoort weergeven.

Notitie

Als u subtotalen gebruikt, dat wil gezegd, groepen maken, kunt u kolomwaarden voor elke groep weergeven. Voor meer informatie, zie Rijen groeperen in queryresultaten (Hulpmiddelen voor visuele databases).

Waarden aggregeren voor alle rijen

  1. Zorg ervoor dat de tabel die u wilt aggregeren al aanwezig is in het deelvenster Diagram.

  2. Klik met de rechtermuisknop op de achtergrond van het Diagram-venster en kies vervolgens Groeperen op in het snelmenu. Met de hulpmiddelen voor query's en weergaveontwerpers (Visual Database Tools) wordt een kolom Groeperen op toegevoegd aan het raster in het deelvenster Criteria.

  3. Voeg de kolom toe die u wilt aggregeren aan het deelvenster Criteria. Zorg ervoor dat de kolom is gemarkeerd voor uitvoer.

    De ontwerpfunctie voor query's en weergaven wijst automatisch een kolomalias toe aan de kolom die u samenvat. U kunt deze alias vervangen door een zinvoller alias. Zie Kolomaliassen maken (Visual Database Tools) voor meer informatie.

  4. Selecteer in de Groeperen op rasterkolom de juiste statistische functie, zoals: Som, Gem, Min, Max, Aantal. Als u alleen unieke rijen in de resultatenset wilt aggregeren, kiest u een statistische functie met de DISTINCT opties, zoals Min Distinct. Kies niet Group By, Expression, of Where, omdat deze opties niet van toepassing zijn wanneer u alle rijen aggregeert.

    De ontwerper voor query's en weergaven vervangt de kolomnaam in de instructie in het SQL-deelvenster (Visual Database Tools) door de aggregerende functie die u opgeeft. De SQL-instructie kan er bijvoorbeeld als volgt uitzien:

    SELECT SUM(price)
    FROM titles;
    
  5. Als u meer dan één aggregatie in de query wilt maken, herhaalt u stap 3 en 4.

    Wanneer u een andere kolom toevoegt aan de lijst met queryuitvoer of de 'Order By'-lijst, vult de query- en weergaveontwerper automatisch de term Groeperen op in de kolom Groeperen op van het raster in. Selecteer de juiste statistische functie.

  6. Voeg eventueel zoekvoorwaarden toe om de subset van rijen op te geven die u wilt samenvatten.

Wanneer u de query uitvoert, worden in het deelvenster Resultaten de aggregaties weergegeven die u hebt opgegeven.

Notitie

De Query- en weergaveontwerper onderhoudt aggregatiefuncties als onderdeel van de SQL-instructie in het SQL-deelvenster totdat u de Group By-modus expliciet uitschakelt. Als u de query wijzigt door het type te wijzigen of door te wijzigen welke tabellen of objecten met tabelwaarden aanwezig zijn in het deelvenster Diagram, kan de resulterende query ongeldige statistische functies bevatten.