©SQL :: Manager
HomeProgram InformationTechnical detailsFree downloadDonate for a cup of coffee
myway SQL Manager for MySQL and MariaDB, Download on Uptodown
SQL functionMySQLMariaDB

The SUM SQL Function in MySQL and MariaDB - Summation of values

SUMSyntax:SUM(Expression or column)
Return value:INTEGER, FLOAT
Function type:Aggregate function, Window function
Function Description

The SUM() function returns the sum of the values ​​of "Expression or column".

When summing string arguments, the function returns 0.

Using a DISTINCT clause results in the summation of only distinct values.

For ENUM columns, the positions of the values ​​in their lists are summed.

For SET columns, the binary positions of the values ​​in their lists are summed = POW(2, Position-1).

As an aggregate function, the SUM() function can be used with a GROUP BY clause.

SUM() can be used as a window function.

The SUM() function returns NULL if no result is found.

SQL Examples for the SUM function

 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
The examples were created with the MyWAY SQL manager: Download

How to use the SUM() function in MySQL and MariaDB databases

The SUM() function in MySQL and MariaDB is an aggregate function and is used to get the sum of the values ​​of a table column or a value set. An expression can also be taken as an argument in order to also carry out calculations or transformations for the column values ​​within the expression. The function works with numeric data types. For other data types, an attempt is made to convert the values ​​to numbers before performing the sum operation. If a non-numeric value cannot be converted, it is treated as 0. NULL values ​​are excluded from the calculation.

The function is primarily used to calculate grand totals or perform aggregations on numeric data. For example when calculating total sales or total quantities, for example in a certain period. To aggregate data by groups, the function can be used with the GROUP BY clause, for example to calculate totals for specific groups or categories. SUM() is also used to analyze financial data, for example to calculate total expenses, total income or net profit for a specific period. When creating reports and summaries that require aggregated data, the feature allows a consolidated view of numerical information to be presented.
SUBSTRINGSUBSTRING_INDEXSUBTIMESUMSYS_GUIDSYSDATESYSTEM_USER

Further MySQL und MariaDB SQL Aggregate functions

ANY_VALUEANY_VALUE(Column)
More about ANY_VALUE Function

AVGAVG(Expression or column)
More about AVG Function

BIT_ANDBIT_AND(Expression or column)
More about BIT_AND Function

BIT_ORBIT_OR(Expression or column)
More about BIT_OR Function

BIT_XORBIT_XOR(Expression or column)
More about BIT_XOR Function

COUNTCOUNT(Expression or column)
More about COUNT Function

GROUP_CONCATGROUP_CONCAT([DISTINCT] Expression [, Expression ...] [ORDER BY ... [ASC | DESC]] [SEPARATOR ...] [LIMIT ...])
More about GROUP_CONCAT Function

JSON_ARRAYAGGJSON_ARRAYAGG(Expression or column)

JSON_OBJECTAGGJSON_OBJECTAGG(Expression or column)

MAXMAX(Expression or column)
More about MAX Function

MINMIN(Expression or column)
More about MIN Function

STDSTD(Expression or column)
More about STD Function

STDDEVSTDDEV(Expression or column)
More about STDDEV Function

STDDEV_POPSTDDEV_POP(Expression or column)
More about STDDEV_POP Function

STDDEV_SAMPSTDDEV_SAMP(Expression or column)
More about STDDEV_SAMP Function

VAR_POPVAR_POP(Expression or column)
More about VAR_POP Function

VAR_SAMPVAR_SAMP(Expression or column)
More about VAR_SAMP Function

VARIANCEVARIANCE(Expression or column)
More about VARIANCE Function

Numeric functionsString functionsRegular ExpressionsDate and Time functions
Comparison functionsEncryption & CompressionConversion functionsNULL functions
Aggregate functionsWindow functionsJSON functionsGeometric functions
Sequence functionsInformation functionsDynamic ColumnsMiscellaneous functions
More information about the SUM SQL function: mysql.com and mariadb.com
Updated: 2023-09-17ImprintContactTerms & conditionsPrivacy & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer