Skip to main content Link Menu Expand (external link) Document Search Copy Copied

PQL SUM()

Sum() computes the sum of values in an Int, Decimal, or Timestamp field in some subset of records (defined by a row call).

Call Definition

Sum(ROW_CALL, field=FIELD)

Mandatory Arguments

  • field / FIELD: the name of the field to get summed. This must be an Int, Decimal, or Timestamp field.

Optional Arguments

  • ROW_CALL : the row call used to filter records to get the summation over.

Returns

  • the sum of values in a field and the count of records that where included in that sum (i.e. the records returned by the row call and the records that didn’t have null values in FIELD)

Examples

Data:

Index: customer (non keyed index)

 _id | age (Int) | has_purchased (Set) | last_purchase (Timestamp)
-----+-----------+---------------------+---------------------------
 0   |    23     | ["brand1","brand2"] | 2021-01-05T08:30:00Z
 1   |    31     | ["brand1","brand3"] | 2020-09-12T12:30:00Z
 2   |    28     | ["brand1","brand3"] | 2021-08-06T16:15:00Z
 3   |    19     | []                  | null
 4   |    25     | ["brand1","brand4"] | 2021-10-01T20:45:00Z
 5   |    40     | ["brand4"]          | 2022-01-13T11:00:00Z

Example 1

What is the sum of customers age?

Query

[customer]Sum(field=age)

Tabular Response

 value | count
-------+-------
 166   | 6

HTTP Response

{
  "results": [
    {
      "value": 166,
      "floatValue": 0,
      "decimalValue": null,
      "timestampValue": "0001-01-01T00:00:00Z",
      "count": 6
    }
  ]
}

Explanation

The summation of ages for all customers is 166. Each record contributed to that summation so count is 6.

Example 2

What is the sum of ages for customers who have purchased from brand 1?

Query

[customer]Sum(Row(has_purchased=brand1), field=age)

Tabular Response

 value | count
-------+-------
 107   | 4

HTTP Response

{
  "results": [
    {
      "value": 107,
      "floatValue": 0,
      "decimalValue": null,
      "timestampValue": "0001-01-01T00:00:00Z",
      "count": 4
    }
  ]
}

Explanation

The row call returns [0,1,2,4] which is why the count is 4. The sum of their ages is 107.