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