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 |