# **SUM**

## **Function Description**

The `SUM()` aggregate function is used to calculate the sum of a set of values (NULL values are ignored).

## **Function Syntax**

```text
> SUM(expr)
```

## **Parameter definition**

| Parameters | Description |
| ---- | ---- |
| expr | Column name of any numeric type and string column|

## **Return value**

Returns the sum of the values of the `expr` column. If the input parameter is of type `Double`, the return value is `Double`, otherwise it is an integer type.
If there are no matching rows, a `NULL` value is returned.

## **Example**

```text
> drop table if exists tbl1,tbl2;
> create table tbl1 (col_1a tinyint, col_1b smallint, col_1c int, col_1d bigint, col_1e char(10) not null);
> insert into tbl1 values (0,1,1,7,"a");
> insert into tbl1 values (0,1,2,8,"b");
> insert into tbl1 values (0,1,3,9,"c");
> insert into tbl1 values (0,1,4,10,"D");
> insert into tbl1 values (0,1,5,11,"a");
> insert into tbl1 values (0,1,6,12,"c");

> select sum(col_1c) from tbl1;
+-----------------+
| sum(col_1c) |
+-----------------+
| 21 |
+-----------------+

> select sum(col_1d) as c1 from tbl1 where col_1d < 13 group by col_1e order by c1;
+------+
| c1 |
+------+
| 8 |
| 10 |
| 18 |
| 21 |
+------+
```
