Funzioni aggregate

Le funzioni aggregate restituiscono un solo valore da un gruppo di record. È possibile usare una funzione aggregata come parte dell'istruzione SELECT, con il nome di un campo (ad esempio, AVG(STIPENDIO)) o in combinazione con un'espressione di colonna (ad esempio, AVG(STIPENDIO * 1.07)).

È possibile far precedere all'espressione di colonna l'operatore DISTINCT per eliminare i valori duplicati.

Esempio

Copia
COUNT (DISTINCT cognome)

In questo esempio vengono contati solo i valori univoci di cognome.

Funzione aggregata

Restituisce

SUM

Il totale dei valori di un'espressione di un campo numerico. Ad esempio, SUM(STIPENDIO) restituisce la somma di tutti i valori del campo stipendio.

AVG

La media dei valori di un'espressione di un campo numerico. Ad esempio, AVG(STIPENDIO) restituisce la media di tutti i valori del campo stipendio.

COUNT

Il numero di valori in qualsiasi espressione campo. Ad esempio, COUNT(NOME) restituisce il numero di valori dei nomi. Quando si usa COUNT con il nome di un campo, COUNT restituisce il numero di valori di campi non nulli. Un esempio particolare è COUNT(*), che restituisce il numero di record del gruppo, compresi i record con valori nulli.

MAX

Il valore massimo in qualsiasi espressione campo. Ad esempio, MAX(STIPENDIO) restituisce il valore massimo del campo stipendio.

MIN

Il valore minimo in qualsiasi espressione campo. Ad esempio, MIN(STIPENDIO) restituisce il valore minimo del campo stipendio.

Esempi

Copia
SELECT SUM (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite

SELECT AVG (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite

SELECT COUNT (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite

SELECT MAX (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite WHERE Dati_vendite.Importo < 3000

SELECT MIN (Dati_Vendite.Quantità) AS agg FROM Dati_Vendite WHERE Dati_Vendite.Importo > 3000

Non è possibile utilizzare una funzione aggregata come argomento per altre funzioni. In caso contrario, il software FileMaker restituisce il codice di errore 8309 ("Espressioni con gruppi non supportate"). Ad esempio, l'istruzione di seguito non è valida perché la funzione aggregata SUM non può essere utilizzata come argomento per la funzione ROUND:

Esempio

Copia
SELECT ROUND(SUM(Stipendio), 0) FROM Buste paga

Tuttavia, le funzioni aggregate possono utilizzare funzioni che restituiscono numeri come argomenti. L'istruzione di seguito è valida.

Esempio

Copia
SELECT SUM(ROUND(Stipendio, 0)) FROM Buste paga