Riak TS Aggregate Functions

You can turn a set of rows in your Riak TS table into a value with the aggregate feature. This document will walk you through the functions that make up aggregation in Riak TS.

Aggregate Functions

  • COUNT() - Returns the number of entries that match a specified criteria.
  • SUM() - Returns the sum of entries that match a specified criteria.
  • MEAN() & AVG() - Returns the average of entries that match a specified criteria.
  • MIN() - Returns the smallest value of entries that match a specified criteria.
  • MAX() - Returns the largest value of entries that match a specified criteria.
  • STDDEV()/STDDEV_SAMP() - Returns the statistical standard deviation of all entries that match a specified criteria using Sample Standard Deviation.
  • STDDEV_POP() - Returns the statistical standard deviation of all entries that match a specified criteria using Population Standard Deviation.

Note: You cannot simply negate an aggregate function. If you attempt something like: select -count(temperature), you will receive an error. Instead, you can achieve negation with -1*; for instance: -1*COUNT(...).

AVG & MEAN

Mean average over the specified sint64 or double column.

SELECT AVG(temperature) FROM GeoCheckin
WHERE time > 1452252523182 AND time < 1452252543182 AND myfamily = 'family1' AND myseries = 'series1'

Returns NULL if no values were returned or all values were NULL.

Column Input Type Return Type
sint64 sint64
double double

COUNT

Count the number of returned values.

SELECT COUNT(*) FROM GeoCheckin
WHERE time > 1452252523182 AND time < 1452252543182 AND myfamily = 'family1' AND myseries = 'series1'

If a single column is used as an input then NULL values are ignored. If all values were NULL or no rows were returned by the query then NULL is returned.

Column Input Type Return Type
Any sint64
* sint64

MAX

The largest value from the set of values returned by the query.

SELECT MAX(temperature) FROM GeoCheckin
WHERE time > 1452252523182 AND time < 1452252543182 AND myfamily = 'family1' AND myseries = 'series1'

Returns NULL if no values were returned or all values were NULL.

Column Input Type Return Type
sint64 sint64
double double

MIN

The smallest value from the set of values returned by the query.

SELECT MIN(temperature) FROM GeoCheckin
WHERE time > 1452252523182 AND time < 1452252543182 AND myfamily = 'family1' AND myseries = 'series1'

Returns NULL if no values were returned or all values were NULL.

Column Input Type Return Type
sint64 sint64
double double

STDDEV, STDDEV_SAMP & STDDEV_POP

Calculate the standard deviation for a set of values returned by the query.

SELECT STDDEV(temperature) FROM GeoCheckin
WHERE time > 1452252523182 AND time < 1452252543182 AND myfamily = 'family1' AND myseries = 'series1'

Returns NULL if less than two non-null values were returned.

Column Input Type Return Type
sint64 double
double double

SUM

The sum of all the values of one sint64 or double column returned by the query.

SELECT SUM(temperature) FROM GeoCheckin
WHERE time > 1452252523182 AND time < 1452252543182 AND myfamily = 'family1' AND myseries = 'series1'

Returns NULL if no values were returned or all values were NULL.

Column Input Type Return Type
sint64 sint64
double double