MySQL gruppieren nach und summieren den Gesamtwert einer anderen Spalte
Wenn Sie in MySQL die GROUP BY-Klausel verwenden, um Zeilen basierend auf einem oder zu gruppieren Bei mehreren Spalten ist es üblich, Aggregatwerte für andere Spalten berechnen zu wollen. Angenommen, Sie haben in diesem Beispiel eine Tabelle mit zwei Spalten: „Wort“ und „Betrag“. Sie möchten die Beträge für jedes einzelne Wort summieren.
Aufgetretenes Problem:
Beim Versuch, die GROUP BY-Klausel wie folgt zu verwenden:
SELECT word, SUM(amount) FROM `Data` GROUP BY 'word'
Möglicherweise wird eine Fehlermeldung angezeigt, die besagt, dass die Spalte vorhanden ist ungültig.
Lösung:
Das Problem entsteht, weil Sie den Spaltennamen „word“ in einfache Anführungszeichen gesetzt haben, was dazu führt, dass er als Zeichenfolge behandelt wird. Entfernen Sie stattdessen einfach die einfachen Anführungszeichen um den Spaltennamen:
SELECT word, SUM(amount) FROM Data GROUP BY word
Diese korrigierte Syntax gruppiert die Zeilen korrekt nach der Spalte „Wort“ und summiert die Spalte „Menge“ für jedes einzelne Wort und liefert so das gewünschte Ergebnis Ergebnis:
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!