Reference documentation and code samples for the Firestore v1 API class StructuredAggregationQuery.Types.Aggregation.Types.Sum.
Sum of the values of the requested field.
Only numeric values will be aggregated. All non-numeric values
including NULL are skipped.
If the aggregated values contain NaN, returns NaN. Infinity math
follows IEEE-754 standards.
If the aggregated value set is empty, returns 0.
Returns a 64-bit integer if all aggregated numbers are integers and the
sum result does not overflow. Otherwise, the result is returned as a
double. Note that even if all the aggregated values are integers, the
result is returned as a double if it cannot fit within a 64-bit signed
integer. When this occurs, the returned value will lose precision.
When underflow occurs, floating-point aggregation is non-deterministic.
This means that running the same query repeatedly without any changes to
the underlying values could produce slightly different results each
time. In those cases, values should be stored as integers over
floating-point numbers.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference information for the \u003ccode\u003eStructuredAggregationQuery.Types.Aggregation.Types.Sum\u003c/code\u003e class in the Google Cloud Firestore v1 API, specifically for version 3.8.0 and later versions, including the latest 3.10.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSum\u003c/code\u003e class is used to calculate the sum of numeric values from a specified field in a Firestore query, and non-numeric values, including \u003ccode\u003eNULL\u003c/code\u003e, are skipped during the summation process.\u003c/p\u003e\n"],["\u003cp\u003eThe aggregation will return \u003ccode\u003eNaN\u003c/code\u003e if any aggregated value is \u003ccode\u003eNaN\u003c/code\u003e, follows IEEE-754 standards for infinity math, and returns 0 if the aggregated set is empty.\u003c/p\u003e\n"],["\u003cp\u003eThe result type of the sum will either be a 64-bit integer or a double, depending on whether all aggregated numbers are integers and whether the sum result overflows, with the double type potentially losing precision in some cases.\u003c/p\u003e\n"],["\u003cp\u003eThe document lists all relevant versions from 2.3.0 up to 3.10.0 and covers the class's inheritance, implementations, constructors, and properties, along with the detailed behavior of the sum operation.\u003c/p\u003e\n"]]],[],null,[]]