VARIANCE funzione aggregata

La funzione VARIANCE restituisce la varianza biased (divisione da n) di una serie di numeri.

Read syntax diagramSkip visual syntax diagramVARIANCE(ALLDISTINCTexpression)

Lo schema è SYSIBM.

espressione
Un'espressione che restituisce un valore di qualsiasi tipo di dati numerico incorporato.

Se l'argomento è DECFLOAT (n), il risultato è DECFLOAT (n); altrimenti il risultato è a virgola mobile a doppia precisione. Il risultato può essere nullo.

La funzione viene applicata alla serie di valori derivati dai valori dell'argomento mediante l'eliminazione dei valori nulli. Se si specifica DISTINTO, i valori duplicati ridondanti vengono eliminati. Quando si interpreta la clausola DISTINTA per i valori a virgola mobile decimale numericamente uguali, il numero di cifre significative nel valore non è considerato. Ad esempio, il numero a virgola mobile decimale 123.00 non è distinto dal numero a virgola mobile decimale 123. La rappresentazione del numero restituito dalla query sarà una delle rappresentazioni rilevate (ad esempio, 123.00 o 123).

Se la funzione viene applicata a un set vuoto, il risultato è un valore nullo. In caso contrario, il risultato è la varianza dei valori nel set.

Il calcolo che viene utilizzato per determinare la varianza biased è logicamente equivalente alla seguente formula:
VARIANCE = SUM(expression**2)/COUNT(expression) - (SUM(expression)/COUNT(expression))**2

L'ordine in cui vengono aggiunti i valori è indefinito, ma ogni risultato intermedio deve essere compreso nell'intervallo del tipo di dati di risultato.

VAR o VAR_POP possono essere specificati al posto di VARIANCE.

Esempio

Impostare la variabile host VARNCE, il cui tipo di dati è a virgola mobile a doppia precisione, alla varianza degli stipendi per quei dipendenti in dipartimento "A00" del tavolo EMPLOYEE.
   SELECT VARIANCE(SALARY)
     INTO :VARNCE
     FROM EMPLOYEE
     WHERE WORKDEPT = 'A00'
Risulta in VARNCE impostato su circa 98763888.88 quando si utilizza la tabella di esempio.
La seguente serie di risultati viene mostrata per riferimento.
   SELECT SALARY FROM EMPLOYEE WHERE WORKDEPT = 'A00'
SALARY     
-----------
  152750.00
   66500.00
   49250.00
   46500.00
   39250.00

  5 record(s) selected.