Introduced in: v1.1.0
Calculates the sum of numeric values or of intervals.
Syntax
sum(num)Arguments
Returned value
Returns the sum of the values. For an Interval argument the result is an interval of the same unit, and an empty input gives a zero-length interval. (U)Int* or Float* or Decimal* or Interval
Examples
Computing sum of employee salaries
CREATE TABLE employees
(
id UInt32,
name String,
salary UInt32
)
ENGINE = Memory;
INSERT INTO employees VALUES
(87432, 'John Smith', 45680),
(59018, 'Jane Smith', 72350),
(20376, 'Ivan Ivanovich', 58900),
(71245, 'Anastasia Ivanovna', 89210);
SELECT sum(salary) FROM employees;┌─sum(salary)─┐
│ 266140 │
└─────────────┘Total time spent on requests
CREATE TABLE requests
(
req_id UInt32,
duration IntervalMillisecond
)
ENGINE = Memory;
INSERT INTO requests VALUES (1, 100), (2, 200), (3, 300);
SELECT sum(duration) AS total_duration, toTypeName(total_duration) FROM requests;┌─total_duration─┬─toTypeName(total_duration)─┐
│ 600 │ IntervalMillisecond │
└────────────────┴────────────────────────────┘