Сумма множества значений
Функция SUM возвращает сумму множества числовых значений.
Синтаксические правила
-
< Значимое выражение >
в аргументе должно быть числовым типом данных или приводиться к нему.
Общие правила
-
Подсчитанная сумма должна быть в пределах типа возвращаемого значения, иначе фиксируется ошибка переполнения.
-
При подсчете NULL-значения игнорируются.
-
Если задана опция
DISTINCT
, дубликаты из подсчета исключаются. -
Тип данных результата:
-
DECIMAL
, если тип аргументовINT
,SMALLINT
,BIGINT
,DECIMAL
; -
BIGINT
, если ядро СУБД запущено с ключом /COMPATIBILITY=STANDARD и тип аргументовINT
,SMALLINT
,BIGINT
; -
DOUBLE
, если тип аргументовREAL
,DOUBLE
.
select count(*), sum(5) from auto; |1000 |5000.0 |
-
-
Если тип данных аргумента
DECIMAL
со значениями точности pi и масштабом si, то точность результата есть max(pi) и масштаб max(si).create table tab1(n decimal); insert into tab1 values (1.5); insert into tab1 values (12345.12345); select * from tab1; | 1.5 | | 12345.12345 | select sum(n) from tab1; |12346.62345 |