©SQL :: Manager
HomeProgramm-InformationenTechnische DetailsKostenloser DownloadKaffee für den Autor
Netzwelt
SQL-FunktionMySQLMariaDB

Die SUM SQL-Funktion in MySQL und MariaDB - Summierung von Werten

SUMSyntax:SUM(Ausdruck oder Spalte)
Rückgabe-Wert:INTEGER, FLOAT
Funktions-Typ:Aggregat-Funktion, Window-Funktion
Funktions-Beschreibung

Die SQL-Funktion SUM() gibt die Summe der Werte von "Ausdruck oder Spalte" zurück.

Bei der Summierung von Zeichenketten-Argumenten gibt die Funktion 0 zurück.

Die Verwendung von einer DISTINCT-Klausel führt zur Summierung von nur unterschiedlichen Werten.

Bei ENUM-Feldern werden die Positionen der Werte in ihren Listen summiert.

Bei SET-Feldern werden die Binär-Positionen der Werte in ihren Listen summiert = POW(2, Position-1).

Als Aggregatfunktion kann die SUM()-Funktion mit einer GROUP BY-Klausel verwendet werden.

SUM() kann als Fensterfunktion verwendet werden.

Die Funktion SUM() gibt NULL zurück, wenn kein Ergebnis gefunden wurde.

SQL Beispiele für die SUM-Funktion

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

DROP TABLE IF EXISTS `test_table`;
    
CREATE TABLE `test_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `type` enum('First','Second','Third','Last'DEFAULT NULL,
  `set` set('First','Second','Third','Last'DEFAULT NULL,
  `num` int(11) NOT NULL DEFAULT 0,
  `price` decimal(10,2) NOT NULL DEFAULT 0.00,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;

INSERT INTO `test_table` (`id`,`name`,`type`,`set`,`num`,`price`VALUES 
(1,'Art 1','First','Last',1,10.50),
(2,'Art 2','Second','First,Last',3,12.50),
(3,'Art 3','Second','Second,Last',2,15.50),
(4,'Art 4','Third','First,Second',5,25.50),
(5,'Art 5','Last','First,Last',2,5.50),
(6,'Art 6','First','First',12,1.50),
(7,'Art 7','Third','First,Third',20,1.75),
(8,'Art 8','Last','Second,Third',100,11.90);

select * from `test_table`;

select sum(name) from test_table;

select sum(num),sum(price),sum(`type`),sum(`set`from test_table;
select sum(num),sum(price) from test_table where id>8;

/* as Window function */

SELECT name, `type`, price, sum(price) 
  OVER (PARTITION BY `type`AS `sum` FROM test_table;

select sum('Test');

id
name
type
set
num
price
int(11)varchar(20) LATIN1enum LATIN1set LATIN1int(11)decimal(10,2)
1Art 1FirstLast110.50
2Art 2SecondFirst,Last312.50
3Art 3SecondSecond,Last215.50
4Art 4ThirdFirst,Second525.50
5Art 5LastFirst,Last25.50
6Art 6FirstFirst121.50
7Art 7ThirdFirst,Third201.75
8Art 8LastSecond,Third10011.90
sum(name)
double(23)
0
sum(num)
sum(price)
sum(`type`)
sum(`set`)
decimal(33)decimal(34)decimal(29)decimal(46)
14584.652051
sum(num)
sum(price)
decimal(33)decimal(34)
NULLNULL
name
type
price
sum
test_table
varchar(20) LATIN1
test_table
enum LATIN1
test_table
decimal(10,2)

decimal(34)
Art 1First10.5012.00
Art 6First1.5012.00
Art 2Second12.5028.00
Art 3Second15.5028.00
Art 7Third1.7527.25
Art 4Third25.5027.25
Art 8Last11.9017.40
Art 5Last5.5017.40
sum('Test')
double(23)
0
Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: Download

Verwendung der SUM() Funktion in MySQL und MariaDB-Datenbanken

Die SUM()-Funktion in MySQL und MariaDB ist eine Aggregatfunktion und wird verwendet, um die Summe der Werte in einer Tabellen-Spalte oder einem Wertesatz zu berechnen. Als Argument kann auch ein Ausdruck genommen werden um auch Berechnungen oder Transformationen für die Spaltenwerte innerhalb des Ausdrucks durchzuführen. Dabei arbeitet die Funktion mit numerischen Datentypen. Bei anderen Datentypen wird versucht, die Werte in Zahlen umzuwandeln, bevor die Summenoperation ausgeführt wird. Wenn ein nicht numerischer Wert nicht konvertiert werden kann, wird er als 0 behandelt. NULL-Werte werden aus der Berechnung ausgeschlossen.

Die Funktion wird hauptsächlich zum Berechnen von Gesamtsummen oder zum Durchführen von Aggregationen für numerische Daten verwendet. Zum Beispiel beim Berechnen von Gesamtverkäufen oder Gesamtmengen, beispielsweise in einem bestimmten Zeitraum. Zum aggregieren von Daten nach Gruppen kann die Funktion mit der GROUP BY-Klausel verwendet werden, um zum Beispiel Summen für bestimmte Gruppen oder Kategorien zu berechnen. Ebenfalls angewendet wird SUM() zur Analyse von Finanzdaten, beispielsweise um die Gesamtausgaben, Gesamteinnahmen oder den Nettogewinn für einen bestimmten Zeitraum zu berechnen. Beim Erstellen von Berichten und Zusammenfassungen die aggregierte Daten erfordern, ermöglicht es die Funktion eine konsolidierte Ansicht numerischer Informationen zu präsentieren.
SUBSTRINGSUBSTRING_INDEXSUBTIMESUMSYS_GUIDSYSDATESYSTEM_USER

Weitere MySQL und MariaDB SQL Aggregat-Funktionen

ANY_VALUEANY_VALUE(Spalte)
Mehr zur ANY_VALUE-Funktion

AVGAVG(Ausdruck oder Spalte)
Mehr zur AVG-Funktion

BIT_ANDBIT_AND(Ausdruck oder Spalte)
Mehr zur BIT_AND-Funktion

BIT_ORBIT_OR(Ausdruck oder Spalte)
Mehr zur BIT_OR-Funktion

BIT_XORBIT_XOR(Ausdruck oder Spalte)
Mehr zur BIT_XOR-Funktion

COUNTCOUNT(Ausdruck oder Spalte)
Mehr zur COUNT-Funktion

GROUP_CONCATGROUP_CONCAT([DISTINCT] Ausdruck [, Ausdruck ...] [ORDER BY ... [ASC | DESC]] [SEPARATOR ...] [LIMIT ...])
Mehr zur GROUP_CONCAT-Funktion

JSON_ARRAYAGGJSON_ARRAYAGG(Ausdruck oder Spalte)

JSON_OBJECTAGGJSON_OBJECTAGG(Ausdruck oder Spalte)

MAXMAX(Ausdruck oder Spalte)
Mehr zur MAX-Funktion

MINMIN(Ausdruck oder Spalte)
Mehr zur MIN-Funktion

STDSTD(Ausdruck oder Spalte)
Mehr zur STD-Funktion

STDDEVSTDDEV(Ausdruck oder Spalte)
Mehr zur STDDEV-Funktion

STDDEV_POPSTDDEV_POP(Ausdruck oder Spalte)
Mehr zur STDDEV_POP-Funktion

STDDEV_SAMPSTDDEV_SAMP(Ausdruck oder Spalte)
Mehr zur STDDEV_SAMP-Funktion

VAR_POPVAR_POP(Ausdruck oder Spalte)
Mehr zur VAR_POP-Funktion

VAR_SAMPVAR_SAMP(Ausdruck oder Spalte)
Mehr zur VAR_SAMP-Funktion

VARIANCEVARIANCE(Ausdruck oder Spalte)
Mehr zur VARIANCE-Funktion

Numerische FunktionenZeichenketten-FunktionenReguläre AusdrückeDatum und Zeit-Funktionen
Vergleichs-FunktionenVerschlüsselung & KomprimierungKonvertierungs-FunktionenNULL-Funktionen
Aggregat-FunktionenWindow-FunktionenJSON-FunktionenGeometrische Funktionen
Sequenz-FunktionenInformations-FunktionenDynamische Tabellen-SpaltenSonstige Funktionen
Weitere Informationen zur SQL-Funktion SUM: mysql.com und mariadb.com
Aktualisiert: 17.09.2023ImpressumKontaktGeschäftsbedingungenDatenschutz & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer