Back to Influxdb

Aggregates

content/shared/influxdb-v2/query-data/influxql/functions/aggregates.md

latest35.0 KB
Original Source

Use aggregate functions to assess, aggregate, and return values in your data. Aggregate functions return one row containing the aggregate values from each InfluxQL group.

Each aggregate function below covers syntax including parameters to pass to the function, and examples of how to use the function. Examples use NOAA water sample data.

COUNT()

Returns the number of non-null field values. Supports all field value data types.

Syntax

sql
SELECT COUNT( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

COUNT(*)

Returns the number of field values associated with each field key in the measurement.

COUNT(field_key)

Returns the number of field values associated with the field key.

COUNT(/regular_expression/)

Returns the number of field values associated with each field key that matches the regular expression.

Examples

{{< expand-wrapper >}} {{% expand "Count values for a field" %}}

Return the number of non-null field values in the water_level field key in the h2o_feet measurement.

sql
SELECT COUNT("water_level") FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timecount
1970-01-01T00:00:00Z61026.0000000000

{{% /expand %}}

{{% expand "Count values for each field in a measurement" %}}

Return the number of non-null field values for each field key associated with the h2o_feet measurement. The h2o_feet measurement has two field keys: level description and water_level.

sql
SELECT COUNT(*) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timecount_level descriptioncount_water_level
1970-01-01T00:00:00Z61026.000000000061026.0000000000

{{% /expand %}}

{{% expand "Count the values that match a regular expression" %}}

Return the number of non-null field values for every field key that contains the word water in the h2o_feet measurement.

sql
SELECT COUNT(/water/) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timecount_water_level
1970-01-01T00:00:00Z61026.0000000000

{{% /expand %}}

{{% expand "Count distinct values for a field" %}}

Return the number of unique field values for the level description field key and the h2o_feet measurement. InfluxQL supports nesting DISTINCT() in COUNT().

sql
SELECT COUNT(DISTINCT("level description")) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timecount
1970-01-01T00:00:00Z4.0000000000

{{% /expand %}}

{{< /expand-wrapper >}}

DISTINCT()

Returns the list of unique field values. Supports all field value data types.

InfluxQL supports nesting DISTINCT() with COUNT().

Syntax

sql
SELECT DISTINCT( [ <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

DISTINCT(field_key)

Returns the unique field values associated with the field key.

Examples

{{< expand-wrapper >}} {{% expand "List the distinct field values associated with a field key" %}}

Return a tabular list of the unique field values in the level description field key in the h2o_feet measurement.

sql
SELECT DISTINCT("level description") FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timedistinct
1970-01-01T00:00:00Zbetween 6 and 9 feet
1970-01-01T00:00:00Zbelow 3 feet
1970-01-01T00:00:00Zbetween 3 and 6 feet
1970-01-01T00:00:00Zat or greater than 9 feet

{{% /expand %}}

<!-->

{{% expand "List the distinct field values associated with each field key in a measurement" %}}

Return a tabular list of the unique field values for each field key in the h2o_feet measurement. The h2o_feet measurement has two field keys: level description and water_level.

sql
SELECT DISTINCT(*) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timedistinct_level descriptiondistinct_water_level
1970-01-01T00:00:00Zbetween 6 and 9 feet8.12
1970-01-01T00:00:00Zbetween 3 and 6 feet8.005
1970-01-01T00:00:00Zat or greater than 9 feet7.887
1970-01-01T00:00:00Zbelow 3 feet7.762

{{% /expand %}} -->

{{< /expand-wrapper >}}

INTEGRAL()

Returns the area under the curve for subsequent field values.

{{% note %}} INTEGRAL() does not support fill(). INTEGRAL() supports int64 and float64 field value data types. {{% /note %}}

Syntax

sql
SELECT INTEGRAL( [ * | <field_key> | /<regular_expression>/ ] [ , <unit> ]  ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

InfluxDB calculates the area under the curve for subsequent field values and converts those results into the summed area per unit. The unit argument is an integer followed by an optional duration literal. If the query does not specify the unit, the unit defaults to one second (1s).

INTEGRAL(field_key)

Returns the area under the curve for subsequent field values associated with the field key.

INTEGRAL(/regular_expression/)

Returns the area under the curve for subsequent field values associated with each field key that matches the regular expression.

INTEGRAL(*)

Returns the average field value associated with each field key in the measurement.

Examples

The following examples use a subset of the NOAA water sample data data:

sql
SELECT "water_level" FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timewater_level
2019-08-18T00:00:00Z2.3520000000
2019-08-18T00:06:00Z2.3790000000
2019-08-18T00:12:00Z2.3430000000
2019-08-18T00:18:00Z2.3290000000
2019-08-18T00:24:00Z2.2640000000
2019-08-18T00:30:00Z2.2670000000

{{< expand-wrapper >}} {{% expand "Calculate the integral for the field values associated with a field key" %}}

Return the area under the curve (in seconds) for the field values associated with the water_level field key and in the h2o_feet measurement.

sql
SELECT INTEGRAL("water_level") FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timeintegral
1970-01-01T00:00:00Z4184.8200000000

{{% /expand %}}

{{% expand "Calculate the integral for the field values associated with a field key and specify the unit option" %}}

Return the area under the curve (in minutes) for the field values associated with the water_level field key and in the h2o_feet measurement.

sql
SELECT INTEGRAL("water_level",1m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timeintegral
1970-01-01T00:00:00Z69.7470000000

{{% /expand %}}

{{% expand "Calculate the integral for the field values associated with each field key in a measurement and specify the unit option" %}}

Return the area under the curve (in minutes) for the field values associated with each field key that stores numeric values in the h2o_feet measurement. The h2o_feet measurement has on numeric field: water_level.

sql
SELECT INTEGRAL(*,1m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timeintegral_water_level
1970-01-01T00:00:00Z69.7470000000

{{% /expand %}}

{{% expand "Calculate the integral for the field values associated with each field key that matches a regular expression and specify the unit option" %}}

Return the area under the curve (in minutes) for the field values associated with each field key that stores numeric values includes the word water in the h2o_feet measurement.

sql
SELECT INTEGRAL(/water/,1m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z'

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timeintegral_water_level
1970-01-01T00:00:00Z69.7470000000

{{% /expand %}}

{{% expand "Calculate the integral for the field values associated with a field key and include several clauses" %}}

Return the area under the curve (in minutes) for the field values associated with the water_level field key and in the h2o_feet measurement in the time range between 2019-08-18T00:00:00Z and 2019-08-18T00:30:00Z, grouped results into 12-minute intervals, and limit the number of results returned to one.

sql
SELECT INTEGRAL("water_level",1m) FROM "h2o_feet" WHERE "location" = 'santa_monica' AND time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m) LIMIT 1

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timeintegral
2019-08-18T00:00:00Z28.3590000000

{{% /expand %}} {{< /expand-wrapper >}}

MEAN()

Returns the arithmetic mean (average) of field values. MEAN() supports int64 and float64 field value data types.

Syntax

sql
SELECT MEAN( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

MEAN(field_key) Returns the average field value associated with the field key.

`MEAN(/regular_expression/)

Returns the average field value associated with each field key that matches the regular expression.

MEAN(*) Returns the average field value associated with each field key in the measurement.

Examples

{{< expand-wrapper >}} {{% expand "Calculate the mean field value associated with a field key" %}}

Return the average field value in the water_level field key in the h2o_feet measurement.

sql
SELECT MEAN("water_level") FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemean
1970-01-01T00:00:00Z4.4418674882

{{% /expand %}}

{{% expand "Calculate the mean field value associated with each field key in a measurement" %}}

Return the average field value for every field key that stores numeric values in the h2o_feet measurement. The h2o_feet measurement has one numeric field: water_level.

sql
SELECT MEAN(*) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemean_water_level
1970-01-01T00:00:00Z4.4418674882

{{% /expand %}}

{{% expand "Calculate the mean field value associated with each field key that matches a regular expression" %}}

Return the average field value for each field key that stores numeric values and includes the word water in the h2o_feet measurement.

sql
SELECT MEAN(/water/) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemean_water_level
1970-01-01T00:00:00Z4.4418674882

{{% /expand %}}

{{% expand "Calculate the mean field value associated with a field key and include several clauses" %}}

Return the average of the values in the water_level field key in the time range between 2019-08-18T00:00:00Z and 2019-08-18T00:30:00Z and group results into 12-minute time intervals and per tag. Then fill empty time intervals with 9.01 and limit the number of points and series returned to seven and one.

sql
SELECT MEAN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m),* fill(9.01) LIMIT 7 SLIMIT 1

{{% influxql/table-meta %}} name: h2o_feet tags: location=coyote_creek {{% /influxql/table-meta %}}

timemean
2019-08-18T00:00:00Z8.4615000000
2019-08-18T00:12:00Z8.2725000000
2019-08-18T00:24:00Z8.0710000000

{{% /expand %}} {{< /expand-wrapper >}}

MEDIAN()

Returns the middle value from a sorted list of field values. MEDIAN() supports int64 and float64 field value data types.

{{% note %}} Note: MEDIAN() is nearly equivalent to PERCENTILE(field_key, 50), except MEDIAN() returns the average of the two middle field values if the field contains an even number of values. {{% /note %}}

Syntax

sql
SELECT MEDIAN( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

MEDIAN(field_key)

Returns the middle field value associated with the field key.

MEDIAN(/regular_expression/)

Returns the middle field value associated with each field key that matches the regular expression.

MEDIAN(*)

Returns the middle field value associated with each field key in the measurement.

Examples

{{< expand-wrapper >}} {{% expand "Calculate the median field value associated with a field key" %}}

Return the middle field value in the water_level field key and in the h2o_feet measurement.

sql
SELECT MEDIAN("water_level") FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemedian
1970-01-01T00:00:00Z4.1240000000

{{% /expand %}}

{{% expand "Calculate the median field value associated with each field key in a measurement" %}}

Return the middle field value for every field key that stores numeric values in the h2o_feet measurement. The h2o_feet measurement has one numeric field: water_level.

sql
SELECT MEDIAN(*) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemedian_water_level
1970-01-01T00:00:00Z4.1240000000

{{% /expand %}}

{{% expand "Calculate the median field value associated with each field key that matches a regular expression" %}}

Return the middle field value for every field key that stores numeric values and includes the word water in the h2o_feet measurement.

sql
SELECT MEDIAN(/water/) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemedian_water_level
1970-01-01T00:00:00Z4.1240000000

{{% /expand %}}

{{% expand "Calculate the median field value associated with a field key and include several clauses" %}}

Return the middle field value in the water_level field key in the time range between 2019-08-18T00:00:00Z and 2019-08-18T00:30:00Z and group results into 12-minute time intervals and per tag. Then fill empty time intervals with 700 , limit the number of points and series returned to seven and one, and offset the series returned by one.

sql
SELECT MEDIAN("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m),* fill(700) LIMIT 7 SLIMIT 1 SOFFSET 1

{{% influxql/table-meta %}} name: h2o_feet tags: location=santa_monica {{% /influxql/table-meta %}}

timemedian
2019-08-18T00:00:00Z2.3655000000
2019-08-18T00:12:00Z2.3360000000
2019-08-18T00:24:00Z2.2655000000

{{% /expand %}} {{< /expand-wrapper >}}

MODE()

Returns the most frequent value in a list of field values. MODE() supports all field value data types.

{{% note %}} Note: MODE() returns the field value with the earliest timestamp if there's a tie between two or more values for the maximum number of occurrences. {{% /note %}}

Syntax

sql
SELECT MODE( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

MODE(field_key)

Returns the most frequent field value associated with the field key.

MODE(/regular_expression/)

Returns the most frequent field value associated with each field key that matches the regular expression.

MODE(*)

Returns the most frequent field value associated with each field key in the measurement.

Examples

{{< expand-wrapper >}}

{{% expand "Calculate the mode field value associated with a field key" %}}

Return the most frequent field value in the level description field key and in the h2o_feet measurement.

sql
SELECT MODE("level description") FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemode
1970-01-01T00:00:00Zbetween 3 and 6 feet

{{% /expand %}}

{{% expand "Calculate the mode field value associated with each field key in a measurement" %}}

Return the most frequent field value for every field key in the h2o_feet measurement. The h2o_feet measurement has two field keys: level description and water_level.

sql
SELECT MODE(*) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemode_level descriptionmode_water_level
1970-01-01T00:00:00Zbetween 3 and 6 feet2.6900000000

{{% /expand %}}

{{% expand "Calculate the mode field value associated with each field key that matches a regular expression" %}}

Return the most frequent field value for every field key that includes the word /water/ in the h2o_feet measurement.

sql
SELECT MODE(/water/) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timemode_water_level
1970-01-01T00:00:00Z2.6900000000

{{% /expand %}}

{{% expand "Calculate the mode field value associated with a field key and include several clauses" %}}

Return the mode of the values associated with the water_level field key in the time range between 2019-08-18T00:00:00Z and 2019-08-18T00:30:00Z and group results into 12-minute time intervals and per tag. Then limits the number of points and series returned to three and one, and it [offsets](/influxdb/version/query-data/influxql/explore-data #the-offset-and-soffset-clauses) the series returned by one.

sql
SELECT MODE("level description") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m),* LIMIT 3 SLIMIT 1 SOFFSET 1

{{% influxql/table-meta %}} name: h2o_feet tags: location=santa_monica {{% /influxql/table-meta %}}

timemode
2019-08-18T00:00:00Zbelow 3 feet
2019-08-18T00:12:00Zbelow 3 feet
2019-08-18T00:24:00Zbelow 3 feet

{{% /expand %}} {{< /expand-wrapper >}}

SPREAD()

Returns the difference between the minimum and maximum field values. SPREAD() supports int64 and float64 field value data types.

Syntax

sql
SELECT SPREAD( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

SPREAD(field_key)

Returns the difference between the minimum and maximum field values associated with the field key.

SPREAD(/regular_expression/)

Returns the difference between the minimum and maximum field values associated with each field key that matches the regular expression.

SPREAD(*)

Returns the difference between the minimum and maximum field values associated with each field key in the measurement.

Examples

{{< expand-wrapper >}}

{{% expand "Calculate the spread for the field values associated with a field key" %}}

Return the difference between the minimum and maximum field values in the water_level field key and in the h2o_feet measurement.

sql
SELECT SPREAD("water_level") FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timespread
1970-01-01T00:00:00Z10.5740000000

{{% /expand %}}

{{% expand "Calculate the spread for the field values associated with each field key in a measurement" %}}

Return the difference between the minimum and maximum field values for every field key that stores numeric values in the h2o_feet measurement. The h2o_feet measurement has one numeric field: water_level.

sql
SELECT SPREAD(*) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timespread_water_level
1970-01-01T00:00:00Z10.5740000000

{{% /expand %}}

{{% expand "Calculate the spread for the field values associated with each field key that matches a regular expression" %}}

Return the difference between the minimum and maximum field values for every field key that stores numeric values and includes the word water in the h2o_feet measurement.

sql
SELECT SPREAD(/water/) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timespread_water_level
1970-01-01T00:00:00Z10.5740000000

{{% /expand %}}

{{% expand "Calculate the spread for the field values associated with a field key and include several clauses" %}}

Return the difference between the minimum and maximum field values in the water_level field key in the time range between 2019-08-18T00:00:00Z and 2019-08-18T00:30:00Z and group results into 12-minute time intervals and per tag. Then fill empty time intervals with 18, lim ts the number of points and series returned to three and one, and offsets the series returned by one.

sql
SELECT SPREAD("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m),* fill(18) LIMIT 3 SLIMIT 1 SOFFSET 1

{{% influxql/table-meta %}} name: h2o_feet tags: location=santa_monica {{% /influxql/table-meta %}}

timespread
2019-08-18T00:00:00Z0.0270000000
2019-08-18T00:12:00Z0.0140000000
2019-08-18T00:24:00Z0.0030000000

{{% /expand %}} {{< /expand-wrapper >}}

STDDEV()

Returns the standard deviation of field values. STDDEV() supports int64 and float64 field value data types.

Syntax

sql
SELECT STDDEV( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

STDDEV(field_key)

Returns the standard deviation of field values associated with the field key.

STDDEV(/regular_expression/)

Returns the standard deviation of field values associated with each field key that matches the regular expression.

STDDEV(*)

Returns the standard deviation of field values associated with each field key in the measurement.

Examples

{{< expand-wrapper >}} {{% expand "Calculate the standard deviation for the field values associated with a field key" %}}

Return the standard deviation of the field values in the water_level field key and in the h2o_feet measurement.

sql
SELECT STDDEV("water_level") FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timestddev
1970-01-01T00:00:00Z2.2789744110

{{% /expand %}}

{{% expand "Calculate the standard deviation for the field values associated with each field key in a measurement" %}}

Return the standard deviation of numeric fields in the h2o_feet measurement. The h2o_feet measurement has one numeric field: water_level.

sql
SELECT STDDEV(*) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timestddev_water_level
1970-01-01T00:00:00Z2.2789744110

{{% /expand %}}

{{% expand "Calculate the standard deviation for the field values associated with each field key that matches a regular expression" %}}

Return the standard deviation of numeric fields with water in the field key in the h2o_feet measurement.

sql
SELECT STDDEV(/water/) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timestddev_water_level
1970-01-01T00:00:00Z2.2789744110

{{% /expand %}}

{{% expand "Calculate the standard deviation for the field values associated with a field key and include several clauses" %}}

Return the standard deviation of the field values in the water_level field key in the time range between 2019-08-18T00:00:00Z and 2019-08-18T00:30:00Z and group results into 12-minute time intervals and per tag. Then fill empty time intervals with 18000, limit the number of points and series returned to two and one, and offsets the series returned by one.

sql
SELECT STDDEV("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m),* fill(18000) LIMIT 2 SLIMIT 1 SOFFSET 1

{{% influxql/table-meta %}} name: h2o_feet tags: location=santa_monica {{% /influxql/table-meta %}}

timestddev
2019-08-18T00:00:00Z0.0190918831
2019-08-18T00:12:00Z0.0098994949

{{% /expand %}} {{< /expand-wrapper >}}

SUM()

Returns the sum of field values. SUM() supports int64 and float64 field value data types.

Syntax

sql
SELECT SUM( [ * | <field_key> | /<regular_expression>/ ] ) FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause]

SUM(field_key)

Returns the sum of field values associated with the field key.

SUM(/regular_expression/)

Returns the sum of field values associated with each field key that matches the regular expression.

SUM(*)

Returns the sums of field values associated with each field key in the measurement.

Examples

{{< expand-wrapper >}} {{% expand "Calculate the sum of the field values associated with a field key" %}}

Return the summed total of the field values in the water_level field key and in the h2o_feet measurement.

sql
SELECT SUM("water_level") FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timesum
1970-01-01T00:00:00Z271069.4053333958

{{% /expand %}}

{{% expand "Calculate the sum of the field values associated with each field key in a measurement" %}}

Return the summed total of numeric fields in the h2o_feet measurement. The h2o_feet measurement has one numeric field: water_level.

sql
SELECT SUM(*) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timesum_water_level
1970-01-01T00:00:00Z271069.4053333958

{{% /expand %}}

{{% expand "Calculate the sum of the field values associated with each field key that matches a regular expression" %}}

Return the summed total of numeric fields with water in the field key in the h2o_feet measurement.

sql
SELECT SUM(/water/) FROM "h2o_feet"

{{% influxql/table-meta %}} name: h2o_feet {{% /influxql/table-meta %}}

timesum_water_level
1970-01-01T00:00:00Z271069.4053333958

{{% /expand %}}

{{% expand "Calculate the sum of the field values associated with a field key and include several clauses" %}}

Return the summed total of the field values in the water_level field key in the time range between 2019-08-18T00:00:00Z and 2019-08-18T00:30:00Z and group results into 12-minute time intervals and per tag. Then fill empty time intervals with 18000, and limit the number of points and series returned to four and one.

sql
SELECT SUM("water_level") FROM "h2o_feet" WHERE time >= '2019-08-18T00:00:00Z' AND time <= '2019-08-18T00:30:00Z' GROUP BY time(12m),* fill(18000) LIMIT 4 SLIMIT 1

{{% influxql/table-meta %}} name: h2o_feet tags: location=coyote_creek {{% /influxql/table-meta %}}

timesum
2019-08-18T00:00:00Z16.9230000000
2019-08-18T00:12:00Z16.5450000000
2019-08-18T00:24:00Z16.1420000000

{{% /expand %}} {{< /expand-wrapper >}}