# Mean

``Mean( arrayOrSet )``
``Mean( arrayOrSet )``
``Mean( arrayOrSet )``
``Mean( arrayOrSet )``
``mean( arrayOrSet )``
``Mean( arrayOrSet )``
 The run time of `Mean` is dependent on the number of elements in the underlying set or page (it’s linear, or O(1)). For very large sets or pages, executing `Mean` might result in a query timeout error. To work around this, you may specify a larger query timeout via the driver that you are using.

## Description

The `Mean` function returns the average value of the items in `arrayOrSet`, which is an Array, Page, or Set. The mean is calculated by dividing the sum of the `arrayOrSet`'s values by the count of the `arrayOrSet`'s values.

## Parameters

Argument Type Definition and Requirements

`arrayOrSet`

Array, Page, or Set

The array, page, or set that should have its average value calculated.

## Returns

A Number representing the average value of all items in `arrayOrSet`.

## Examples

The following query returns the average of the items in the provided array:

``````Value result = await client.Query(
Mean(Arr(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
);

IResult<Value> data = result.To<Value>();
data.Match(
Success: value => Console.WriteLine(\$"{value}"),
Failure: error => Console.WriteLine(\$"Query failed:\n{error}")
);``````
``DoubleV(5.5)``
``````result, err := client.Query(
f.Mean(f.Arr{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}))

if (err != nil) {
fmt.Println(err)
} else {
fmt.Println(result)
}``````
``5.5``
``````System.out.println(
client.query(
Mean(
Arr(
Value(1), Value(2), Value(3), Value(4), Value(5),
Value(6), Value(7), Value(8), Value(9), Value(10)
)
)
).get()
);``````
``5.5``
``````client.query(
q.Mean([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
)
.then((ret) => console.log(ret))``````
``5.5``
``````print(client.query(
q.mean([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
))``````
``5.5``
``````println(Await.result(
client.query(
Mean(Arr(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)),
),
5.seconds)
)``````
``5.5``