Heim > Datenbank > MySQL-Tutorial > Wie berechnet man den Durchschnitt mehrerer Spalten in einer Datenbanktabelle?

Wie berechnet man den Durchschnitt mehrerer Spalten in einer Datenbanktabelle?

DDD
Freigeben: 2024-12-31 08:39:10
Original
868 Leute haben es durchsucht

How to Calculate the Average of Multiple Columns in a Database Table?

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage