MySQL-Abfrage: Wie berechnet man den Durchschnitt von Werten in einer Zeile?

8

Die AVG () - Funktion berechnet column-means, aber wie kann ich den Mittelwert mehrerer Werte in derselben Zeile wie folgt abrufen:

%Vor%

EDIT: sicher, wie Cherouvim vorschlägt, kann ich tun:

%Vor%

aber ich versuche herauszufinden, ob es einen schlankeren Weg gibt.

    
markus 02.04.2009, 18:57
quelle

5 Antworten

7
%Vor%     
cherouvim 02.04.2009, 19:00
quelle
1

Ich bin auf eine ähnliche Situation gestoßen. Dies kam nützlich: Ссылка

Von der Seite:

Wenn wir das tun:

%Vor%

Wir erhalten nur korrekte Durchschnittswerte für die Zeilen, in denen alle Werte nicht NULL sind. Aber wenn ich z.B. 3, NULL, 4 Ich möchte 3,5 als Rückgabe erhalten. Das ist der Moment, in dem die Funktion COALESCE () nützlich ist.

Was macht COALESCE ()? Aus dem MySQL-Handbuch haben wir:

Gibt den ersten Nicht-NULL-Wert in der Liste oder NULL zurück, wenn keine Nicht-NULL-Werte vorhanden sind.

%Vor%

Und diese Informationen werden uns helfen, eine weitere SELECT-Anweisung zu erstellen:

%Vor%     
Pratyush 24.06.2013 08:38
quelle
0

Wenn kein anderer eine bessere Lösung findet, können Sie sie immer einfach zusammenfügen und dann durch die Anzahl der hinzugefügten Spalten dividieren.

    
AaronLS 02.04.2009 19:00
quelle
0

Nicht schön, aber es funktioniert.

Nicht speziell MySql, aber die Idee sollte einfach genug sein, um zu übersetzen.

%Vor%     
beach 02.04.2009 19:10
quelle
0

Ich bin nicht vertraut mit der MySQL-Syntax, aber was ist mit dem Dumping der Zeilendaten in eine temporäre Tabelle als mehrere Zeilen mit einer einzigen Spalte und dann mit der Funktion AVG (), um Ihr Ergebnis zu erhalten?

    
patjbs 02.04.2009 19:30
quelle

Tags und Links