Statistikfunktioner

Statistikfunktioner returnerar ett enskilt värde från en uppsättning poster. Du kan använda en statistikfunktion som en del av en SELECT-sats, med ett fältnamn (t.ex. AVG(lön) eller i kombination med ett kolumnuttryck (t.ex. AVG(lön * 1.07)).

Du kan låta kolumnuttrycket föregås av DISTINCT-operatorn för att eliminera dubblerade värden.

Exempel

Kopiera
COUNT (DISTINCT efternamn)

I det här exemplet räknas endast unika efternamn.

Statistikfunktionen...

...returnerar följande

SUM

Totalsumman för värdena i det numeriska fältuttrycket. Till exempel returnerar SUM(Lön) summan av alla värden i fältet Lön.

AVG

Medelvärdet för värdena i ett numeriskt fältuttryck. Till exempel returnerar AVG(Lön) medelvärdet av alla värden i fältet Lön.

COUNT

Antal värden i ett fältuttryck. Till exempel returnerar COUNT(Namn) antalet värden i fältet Namn. När du använder COUNT med ett fältnamn returnerar COUNT antalet fältvärden som inte är tomma. Ett specialexempel är COUNT(*), som returnerar antal poster i uppsättningen, även tomma poster.

MAX

Maxvärdet för ett fältuttryck. Till exempel returnerar MAX(Lön) det maximala värdet i fältet Lön.

MIN

Minimivärdet för ett fältuttryck. Till exempel returnerar MIN(Lön) det minsta värdet i fältet Lön.

Exempel

Kopiera
SELECT SUM (Säljdata.Summa) AS agg FROM Säljdata

SELECT AVG (Säljdata.Summa) AS agg FROM Säljdata

SELECT COUNT (Säljdata.Summa) AS agg FROM Säljdata

SELECT MAX (Säljdata.Summa) AS agg FROM Säljdata WHERE Säljdata.Summa < 3000

SELECT MIN (Säljdata.Summa) AS agg FROM Säljdata WHERE Säljdata.Summa > 3000

Du kan inte använda en statistikfunktion som ett argument för andra funktioner. Om du gör det returnerar FileMaker-programvara felkoden 8309 ("Det finns inte stöd för sammansatta uttryck"). Till exempel är följande sats ogiltig eftersom statistikfunktionen SUM inte kan användas som ett argument för funktionen ROUND:

Exempel

Kopiera
SELECT ROUND(SUM(lön), 0) FROM lönelista

Statistikfunktioner kan dock använda funktioner som returnerar siffror som argument. Följande är en giltig sats.

Exempel

Kopiera
SELECT SUM(ROUND(lön, 0)) FROM lönelista