Quindi c'è la funzione SQL AVG(), che prende la media di tutti i valori in una colonna, ignorando tutti i valori NULL. Se è necessario calcolare una media ponderata, utilizzare SUM (valore * peso)/SUM (peso) con una clausola Group By.Creazione di una media ponderata - Rilascio di pesi per valori NULL
Se volessi fare il secondo, ma alcuni dei miei valori sono NULL, allora come farei a dire a SQL di ignorare i pesi con osservazioni di valore NULL nella funzione SUM (peso)?
Il mio altro problema è che sto prendendo una media di 90 diverse colonne contemporaneamente, quindi vorrei evitare di fare 90 nuove variabili di peso per questo calcolo.
Fammi sapere se l'ho chiarito o no.
sto usando SQL Server 2005
@Gordon .... non bombarderà se il valore è nullo poiché dividerà per zero? O cosa succede quando il valore è nullo – MikeTWebb
@MikeTWebb. . . NULL in * qualsiasi * operazione diversa da 'IS NULL' e' IS NOT NULL' restituisce NULL. Questo è vero anche per la divisione per 0. Ma, ho incluso la seconda versione nel caso qualcuno potesse pensarci. Sarà più chiaramente restituito NULL se non corrisponde nulla. –
+1 ma 'um' ... Penso che tu intendessi' sum'. :-) –