Problém:
Chcete sečíst hodnoty sloupce.
Příklad:
Naše databáze obsahuje tabulku s názvem game
s údaji v následujících sloupcích:id
, player
a score
.
id | hráč | skóre |
---|---|---|
1 | Jan | 134 |
2 | Tome | 146 |
3 | Lucy | 20 |
4 | Tome | 118 |
5 | Tome | 102 |
6 | Lucy | 90 |
7 | Lucy | 34 |
8 | Jan | 122 |
Pojďme zjistit celkové skóre všech hráčů.
Řešení:
SELECT SUM(score) as sum_score FROM game;
Zde je výsledek:
součet_skóre |
---|
766 |
Diskuse:
Agregační funkce SUM
je ideální pro výpočet součtu hodnot sloupce. Tato funkce se používá v SELECT
a převezme název sloupce, jehož hodnoty chcete sečíst.
Pokud neurčíte žádné další sloupce v SELECT
výpis, pak bude součet vypočítán pro všechny záznamy v tabulce. V našem příkladu vybereme pouze součet a žádné další sloupce. Proto dotaz v našem příkladu vrátí součet všech skóre (766).
Samozřejmě můžeme také vypočítat celkové skóre získané každým hráčem pomocí klauzule GROUP BY a výběrem jména každého hráče z tabulky spolu se součtem:
Řešení:
SELECT player, SUM(score) as sum_score FROM game GROUP BY player;
Tento dotaz vrátí celkové skóre pro každého hráče:
přehrávač | skóre |
---|---|
Jan | 256 |
Tome | 366 |
Lucy | 144 |