sql >> Database >  >> RDS >> Database

Hoe de waarden van een kolom in SQL optellen?

Probleem:

U wilt de waarden van een kolom optellen.

Voorbeeld:

Onze database heeft een tafel met de naam game met gegevens in de volgende kolommen:id , player , en score .

id speler score
1 Jan 134
2 Tom 146
3 Lucy 20
4 Tom 118
5 Tom 102
6 Lucy 90
7 Lucy 34
8 Jan 122

Laten we eens kijken naar de totale score die alle spelers hebben behaald.

Oplossing:

SELECT SUM(score) as sum_score
FROM game;

Dit is het resultaat:

sum_score
766

Discussie:

De aggregatiefunctie SUM is ideaal voor het berekenen van de som van de waarden van een kolom. Deze functie wordt gebruikt in een SELECT statement en krijgt de naam van de kolom waarvan u de waarden wilt optellen.

Als u geen andere kolommen opgeeft in de SELECT afschrift, dan wordt de som berekend voor alle records in de tabel. In ons voorbeeld selecteren we alleen de som en geen andere kolommen. Daarom retourneert de query in ons voorbeeld de som van alle scores (766).

Natuurlijk kunnen we ook de totale score berekenen die door elke speler is verdiend door een GROUP BY-clausule te gebruiken en de naam van elke speler uit de tabel te selecteren, naast de som:

Oplossing:

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

Deze zoekopdracht geeft de totale score voor elke speler:

speler score
Jan 256
Tom 366
Lucy 144

  1. SQLite INSERT - OP DUPLICATE KEY UPDATE (UPSERT)

  2. MySQL gebruiken met Oracle Heterogene Services

  3. Oracle SqlPlus - uitvoer opslaan in een bestand maar niet op het scherm weergeven

  4. INSERT ... OP DUPLICATE KEY (niets doen)