*How to get statistical data from a column in standard SQL. In particular it shows how to get the minimum, maximum, average values, and the standard deviation.*

## Counting values

There are several ways of counting values, so this topic has a dedicated article: Count a table rows.

## Finding the minimum value

Example: Get the minimum salary in the company.

`SELECT min(salary) FROM employees;`

## Finding the maximum value

Example: Get the maximum salary in the company.

`SELECT max(salary) FROM employees;`

## Obtaining the average and the standard deviation

Example: Get the average salary in the company.

`SELECT avg(salary), stddev(salary) FROM employees;`

## Obtaining the sum of a column

**NOTE**: This only works with numeric columns.

Example: Get the sum of the salaries of all the company’s employees.

`SELECT sum(salary) FROM employees;`

## Aggregating unique values

Some of these functions can aggregate unique values, meaning that identical values will be counted once.

For example, if we use `AVG(DISTINCT n)`

, we will get the same result for these series of values:

- 1, 2, 3
- 1, 2, 3, 3, 3

## SQLite

SQLite supports `sum()`

, as shown above, but it always returns an integer number – even when summing float numbers.

It also supports a `total()`

function, which always returns a float, so it is meant to sum float numbers.

## Reference

Related articles:

SQLite documentation: