| layout | api-command | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| language | Java | ||||||||||||||
| permalink | api/java/sum/ | ||||||||||||||
| command | sum | ||||||||||||||
| related_commands |
|
Command syntax
{% apibody %} sequence.sum([field | function]) → number r.sum(sequence, [field | function]) → number {% endapibody %}
Description
Sums all the elements of a sequence. If called with a field name,
sums all the values of that field in the sequence, skipping elements
of the sequence that lack that field. If called with a function,
calls that function on every element of the sequence and sums the
results, skipping elements of the sequence where that function returns
null or a non-existence error.
Returns 0 when called on an empty sequence.
Example: What's 3 + 5 + 7?
r.expr(r.array(3, 5, 7)).sum().run(conn);
Example: How many points have been scored across all games?
r.table("games").sum("points").run(conn);
Example: How many points have been scored across all games, counting bonus points?
r.table("games").sum( game -> game.g("points").add(game.g("bonus_points")) ).run(conn);