sql >> Databáze >  >> RDS >> MariaDB

Funkce SUM() v MariaDB

V MariaDB, SUM() agregační funkce vrací součet daného výrazu.

Lze jej také použít k vrácení součtu všech odlišných (jedinečných) hodnot ve výrazu.

Syntaxe

Syntaxe vypadá takto:

SUM([DISTINCT] expr)

Ukázková data

Předpokládejme, že máme tabulku nazvanou Products s následujícími údaji:

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Výsledek:

+----------+---------------------------------+--------------+
| VendorId | ProductName                     | ProductPrice |
+----------+---------------------------------+--------------+
|     1001 | Left handed screwdriver         |        25.99 |
|     1001 | Right handed screwdriver        |        25.99 |
|     1001 | Long Weight (blue)              |        14.75 |
|     1001 | Long Weight (green)             |        11.99 |
|     1002 | Sledge Hammer                   |        33.49 |
|     1003 | Chainsaw                        |       245.00 |
|     1003 | Straw Dog Box                   |        55.99 |
|     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
+----------+---------------------------------+--------------+

Příklad

K získání součtu všech cen můžeme použít následující dotaz.

SELECT SUM(ProductPrice)
FROM Products;

Výsledek:

423.19

Zde jsou informace o ceně uloženy v ProductPrice a tak to předáme jako argument do SUM() funkce, která pak vypočítá součet a vrátí výsledek.

Filtrované výsledky

SUM() funkce pracuje na řádcích vrácených dotazem. Pokud tedy filtrujete výsledky, výsledek SUM() to bude odrážet.

SELECT SUM(ProductPrice)
FROM Products
WHERE VendorId = 1001;

Výsledek:

78.72

V tomto případě je 78,72 součet všech produktů nabízených zadaným prodejcem.

DISTINCT Klíčové slovo

Můžete použít DISTINCT klíčové slovo s SUM() vypočítat pouze odlišné hodnoty. To znamená, že pokud existují nějaké duplicitní hodnoty, jsou považovány za jednu hodnotu.

Příklad:

SELECT SUM(DISTINCT ProductPrice)
FROM Products;

Výsledek:

397.20

Náš stůl obsahuje dvě položky se stejnou cenou (levý šroubovák a šroubovák pro pravé ruce jsou za cenu 25,99). DISTINCT Výsledkem klíčového slova je, že obě tyto hodnoty budou považovány za jednu.

Funkce okna

Můžeme použít OVER klauzule s SUM() funkce pro vytvoření funkce okna. Viz SQL SUM() příklad pro začátečníky.


  1. DATE_SUB() Příklady – MySQL

  2. Jak opravit „Server není nakonfigurován pro DATA ACCESS“ v SQL Server

  3. Jak provést LEVÝ SEMI JOIN v SQL Server

  4. Jak najít rozdíl v hodnotách černobílého formátu TIMESTAMP v Oracle?