diff --git a/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php b/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php index 6bd98e4ce5..9ec8a9fd3c 100644 --- a/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php +++ b/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php @@ -53,4 +53,8 @@ class FunctionBuilder implements IFunctionBuilder { return new QueryFunction('SUBSTR(' . $this->helper->quoteColumnName($input) . ', ' . $this->helper->quoteColumnName($start) . ')'); } } + + public function sum($field) { + return new QueryFunction('SUM(' . $this->helper->quoteColumnName($field) . ')'); + } } diff --git a/lib/public/DB/QueryBuilder/IFunctionBuilder.php b/lib/public/DB/QueryBuilder/IFunctionBuilder.php index 6c1f596966..38d3a67da9 100644 --- a/lib/public/DB/QueryBuilder/IFunctionBuilder.php +++ b/lib/public/DB/QueryBuilder/IFunctionBuilder.php @@ -59,4 +59,14 @@ interface IFunctionBuilder { * @since 12.0.0 */ public function substring($input, $start, $length = null); + + /** + * Takes the sum of all rows in a column + * + * @param mixed $field the column to sum + * + * @return IQueryFunction + * @since 12.0.0 + */ + public function sum($field); }