Berechnung des Durchschnittswerts mehrerer Tabellenspalten
Im Zusammenhang mit Datenbanktabellenoperationen ist es häufig erforderlich, Durchschnittswerte über mehrere Spalten hinweg zu berechnen. Dies ist besonders nützlich, wenn wir Daten zusammenfassen oder analysieren müssen. Betrachten wir ein konkretes Beispiel, um den Prozess zu demonstrieren.
Szenario:
Wir haben eine Tabelle mit dem Namen „Anfrage“ mit Spalten, die die Werte R1, R2, R3, R4 darstellen. und R5. Wir möchten den Durchschnitt dieser Werte für jeden Datensatz in der Tabelle ermitteln.
Erster Ansatz:
Um dies zu erreichen, haben Sie zunächst die folgende Abfrage versucht:
Select Req_ID, Avg(R1+R2+R3+R4+R5) as Average from Request Group by Req_ID
Diese Abfrage liefert jedoch nicht das beabsichtigte Ergebnis. Es berechnet die Summe der Werte, nicht den Durchschnitt.
Ursache:
Bei Verwendung der AVG-Aggregatfunktion ist es wichtig sicherzustellen, dass das bereitgestellte Argument ein Ausdruck ist das ergibt einen einzelnen numerischen Wert. In diesem Fall addieren Sie die Werte mehrerer Spalten, was eine Summe ergibt.
Lösung:
Es gibt zwei Methoden, mit denen Sie den Durchschnitt berechnen können richtig:
1. Verwenden einer Unterabfrage (2008-Syntax):
SELECT *, (SELECT AVG(c) FROM (VALUES(R1), (R2), (R3), (R4), (R5)) T (c)) AS [Average] FROM Request
Bei diesem Ansatz wird eine Unterabfrage verwendet, um den Durchschnitt zu berechnen. Die Unterabfrage wählt die Werte aus jeder Spalte aus und behandelt sie als separate Zeilen. Anschließend wird die AVG-Aggregatfunktion angewendet, um den Durchschnitt zu berechnen.
2. Verwenden einer UNION in der Unterabfrage (2005-Syntax):
SELECT *, (SELECT AVG(c) FROM (SELECT R1 UNION ALL SELECT R2 UNION ALL SELECT R3 UNION ALL SELECT R4 UNION ALL SELECT R5) T (c)) AS [Average] FROM Request
Diese Methode verwendet eine UNION, um alle Werte aus den verschiedenen Spalten in einer einzigen Spalte zu kombinieren. Die AVG-Aggregatfunktion wird dann auf die kombinierte Spalte angewendet, um den Durchschnitt zu berechnen.
Ergebnis:
Beide Ansätze liefern die korrekten Durchschnittswerte für jeden Datensatz in der Anfrage Tisch. Wenn Sie einer dieser Lösungen folgen, können Sie den Durchschnitt mehrerer Tabellenspalten genau berechnen und das gewünschte Ergebnis erzielen.
Das obige ist der detaillierte Inhalt vonWie berechnet man den Durchschnitt mehrerer Spalten in einer Datenbanktabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!