Totaalfuncties

Totaalfuncties geven als resultaat één waarde uit een reeks records. U kunt een totaalfunctie gebruiken als onderdeel van een SELECT-instructie, of met een veldnaam (bijvoorbeeld AVG(SALARIS)), of in combinatie met een kolomuitdrukking (bijvoorbeeld AVG(SALARIS * 1,07)).

U kunt de kolomuitdrukking laten voorafgaan door de operator DISTINCT om dubbele waarden weg te laten.

Voorbeeld

Kopiëren
COUNT (DISTINCT achternaam)

In dit voorbeeld worden alleen unieke waarden voor achternaam geteld.

Totaalfunctie

Geeft dit als resultaat

SUM

Het totaal van de waarden in een numerieke velduitdrukking. SUM(SALARIS) geeft bijvoorbeeld als resultaat de som van alle waarden van het veld Salaris.

AVG

Het gemiddelde van de waarden in een numerieke velduitdrukking. AVG(SALARIS) geeft bijvoorbeeld als resultaat het gemiddelde van alle waarden van het veld Salaris.

COUNT

Het aantal waarden in een willekeurige velduitdrukking. COUNT(NAAM) geeft bijvoorbeeld naamwaarden als resultaat. Bij het gebruik van COUNT met een veldnaam geeft COUNT als resultaat het aantal veldwaarden dat niet null is. Een speciaal voorbeeld is COUNT(*). Dat geeft als resultaat het aantal records in de reeks, met inbegrip van records met 'null'-waarden.

MAX

De maximale waarde in een willekeurige velduitdrukking. MAX(SALARIS) geeft bijvoorbeeld als resultaat de maximale waarde in het veld Salaris.

MIN

De minimale waarde in een willekeurige velduitdrukking. MIN(SALARIS) geeft bijvoorbeeld als resultaat de minimale waarde in het veld Salaris.

Voorbeelden

Kopiëren
SELECT SUM (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens

SELECT AVG (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens

SELECT COUNT (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens

SELECT MAX (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag < 3000

SELECT MIN (Verkoopgegevens.Bedrag) AS totaal FROM Verkoopgegevens WHERE Verkoopgegevens.Bedrag > 3000

U kunt geen totaalfunctie gebruiken als een argument bij andere functies. Als u dat toch doet, geeft FileMaker-software foutcode 8309 (“Expressions involving aggregations are not supported”). De volgende instructie is bijvoorbeeld ongeldig omdat de totaalfunctie SUM niet kan worden gebruikt als een argument bij de functie ROUND:

Voorbeeld

Kopiëren
SELECT ROUND(SUM(Salaris), 0) FROM Loonlijst

Totaalfuncties kunnen wel functies gebruiken die getallen als argumenten geven. De volgende instructie is geldig.

Voorbeeld

Kopiëren
SELECT SUM(ROUND(Salaris, 0)) FROM Loonlijst