summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php4
-rw-r--r--lib/public/DB/QueryBuilder/IFunctionBuilder.php10
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php b/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php
index 6bd98e4ce50..9ec8a9fd3c4 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 6c1f596966d..38d3a67da9b 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);
}