Wie gruppiere ich nach und summiere Werte in anderen Spalten in MySQL?
In MySQL wird die GROUP BY-Klausel zum Aggregieren von Datensätzen verwendet basierend auf gemeinsamen Werten in einer bestimmten Spalte. Wenn Sie jedoch Berechnungen für andere Spalten für jede Gruppe durchführen müssen, kann dies mithilfe von Aggregationsfunktionen wie SUM() erreicht werden.
Problem:
Gegeben ist eine Tabelle Mit zwei Spalten, Wort und Betrag, möchten wir die Beträge für jedes einzelne Wort summieren.
Fehlgeschlagen Versuch:
Die folgende Abfrage schlägt fehl, weil sie fälschlicherweise einfache Anführungszeichen um die Wortspalte in der GROUP BY-Klausel einschließt:
SELECT word, SUM(amount) FROM `Data` GROUP BY 'word'
Korrigierte Lösung:
Die einfachen Anführungszeichen um die Wortspalte sind unnötig und müssen entfernt werden. Die richtige Abfrage zum Gruppieren nach der Wortspalte und Summieren der Betragsspalte lautet:
SELECT word, SUM(amount) FROM Data GROUP BY word
Ausgabe:
Diese Abfrage erzeugt die gewünschte Ausgabe, in der die Beträge angegeben werden werden für jedes einzelne Wort summiert:
word | amount |
---|---|
dog | 6 |
elephant | 2 |
Das obige ist der detaillierte Inhalt vonWie verwende ich GROUP BY und SUM() in MySQL richtig, um Daten zu aggregieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!