sql >> Databasteknik >  >> RDS >> MariaDB

SUM() Funktion i MariaDB

I MariaDB, SUM() aggregatfunktion returnerar summan av ett givet uttryck.

Den kan också användas för att returnera summan av alla distinkta (unika) värden i ett uttryck.

Syntax

Syntaxen ser ut så här:

SUM([DISTINCT] expr)

Exempeldata

Anta att vi har en tabell som heter Products med följande data:

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Resultat:

+----------+---------------------------------+--------------+
| 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 |
+----------+---------------------------------+--------------+

Exempel

Vi kan använda följande fråga för att få summan av alla priser.

SELECT SUM(ProductPrice)
FROM Products;

Resultat:

423.19

Här lagras prisinformation i ProductPrice kolumnen, och så skickar vi det som ett argument till SUM() funktion, som sedan beräknar summan och returnerar resultatet.

Filtrerade resultat

SUM() funktionen fungerar på raderna som returneras av frågan. Så om du filtrerar resultaten blir resultatet av SUM() kommer att återspegla det.

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

Resultat:

78.72

I det här fallet är 78,72 summan av alla produkter som erbjuds av den angivna leverantören.

DISTINCT Nyckelord

Du kan använda DISTINCT nyckelord med SUM() för att endast beräkna distinkta värden. Det vill säga, om det finns några dubbletter av värden, behandlas de som ett värde.

Exempel:

SELECT SUM(DISTINCT ProductPrice)
FROM Products;

Resultat:

397.20

Vårt bord innehåller två artiklar med samma pris (vänsterskruvmejseln och högerskruvmejseln kostar båda 25,99). DISTINCT sökord leder till att båda dessa värden behandlas som ett.

Fönsterfunktioner

Vi kan använda en OVER sats med SUM() funktion för att skapa en fönsterfunktion. Se SQL SUM() för nybörjare som ett exempel.


  1. Oracle SQL Syntax:Citerad identifierare

  2. MySQL FULL GÅ MED?

  3. Bygga en MySQL eller MariaDB Databas Cold Standby på Amazon AWS

  4. Bläddra genom urklippsringen i SQL Server Management Studio (SSMS) - SQL Server / TSQL självstudie del 8