Skip to content
ClickHouse Docs

sum

Autogenerated from ClickHouse system tables

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        │
└────────────────┴────────────────────────────┘