Database
 sql >> Datenbank >  >> RDS >> Database

Wie summiere ich Werte einer Spalte in SQL?

Problem:

Sie möchten die Werte einer Spalte summieren.

Beispiel:

Unsere Datenbank hat eine Tabelle namens game mit Daten in den folgenden Spalten:id , player , und score .

id Spieler Ergebnis
1 Johannes 134
2 Tom 146
3 Lucy 20
4 Tom 118
5 Tom 102
6 Lucy 90
7 Lucy 34
8 Johannes 122

Lassen Sie uns die von allen Spielern erzielte Gesamtpunktzahl ermitteln.

Lösung:

SELECT SUM(score) as sum_score
FROM game;

Hier ist das Ergebnis:

sum_score
766

Diskussion:

Die Aggregatfunktion SUM ist ideal zum Berechnen der Summe der Werte einer Spalte. Diese Funktion wird in einem SELECT verwendet -Anweisung und übernimmt den Namen der Spalte, deren Werte Sie summieren möchten.

Wenn Sie in SELECT keine anderen Spalten angeben Anweisung, dann wird die Summe für alle Datensätze in der Tabelle berechnet. In unserem Beispiel wählen wir nur die Summe und keine anderen Spalten aus. Daher gibt die Abfrage in unserem Beispiel die Summe aller Punktzahlen (766) zurück.

Natürlich können wir auch die von jedem Spieler erzielte Gesamtpunktzahl berechnen, indem wir eine GROUP BY-Klausel verwenden und den Namen jedes Spielers neben der Summe aus der Tabelle auswählen:

Lösung:

SELECT player, SUM(score) as sum_score
FROM game
GROUP BY player;

Diese Abfrage gibt die Gesamtpunktzahl für jeden Spieler zurück:

Spieler Ergebnis
Johannes 256
Tom 366
Lucy 144