Команда ReQL: avg
Синтаксис команды
sequence.avg([field | function]) → number r.avg(sequence, [field | function]) → number
Описание
Вычисляет среднее значение всех элементов последовательности. Если используется имя поля, вычисляет среднее значение всех значений этого поля в последовательности, пропускаю элементы последовательности, у которых отсутствует это поле. Если используется функция, применяет эту функцию к каждому элементу последовательности и вычисляет среднее значение результатов, пропускаю элементы последовательности, где эта функция возвращает null или ошибку несуществования.
Возвращает ошибку несуществования при вызове на пустой последовательности. Вы можете обработать этот случай с помощью default.
Пример: Какое среднее значение 3, 5 и 7?
r.expr(r.array(3, 5, 7)).avg().run(conn);
Пример: Какое среднее количество очков, набранных в игре?
r.table("games").avg("points").run(conn);
Пример: Какое среднее количество очков, набранных в игре, включая бонусные очки?
r.table("games").avg(
game -> game.g("points").add(game.g("bonus_points"))
).run(conn);
Пример: Какое среднее количество очков, набранных в игре? (Но верните null вместо повышения ошибки, если нет игр, в которых были набраны очки.)
r.table("games").avg("points").default_(null).run(conn);
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/java/avg/