diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php | 8 | ||||
-rw-r--r-- | lib/public/DB/QueryBuilder/IFunctionBuilder.php | 20 |
2 files changed, 28 insertions, 0 deletions
diff --git a/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php b/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php index a9d2f6f9a35..3b67661c8b0 100644 --- a/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php +++ b/lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php @@ -76,4 +76,12 @@ class FunctionBuilder implements IFunctionBuilder { $alias = $alias ? (' AS ' . $this->helper->quoteColumnName($alias)) : ''; return new QueryFunction('COUNT(' . $this->helper->quoteColumnName($count) . ')' . $alias); } + + public function max($field) { + return new QueryFunction('MAX(' . $this->helper->quoteColumnName($field) . ')'); + } + + public function min($field) { + return new QueryFunction('MIN(' . $this->helper->quoteColumnName($field) . ')'); + } } diff --git a/lib/public/DB/QueryBuilder/IFunctionBuilder.php b/lib/public/DB/QueryBuilder/IFunctionBuilder.php index 1e17290f145..066be470150 100644 --- a/lib/public/DB/QueryBuilder/IFunctionBuilder.php +++ b/lib/public/DB/QueryBuilder/IFunctionBuilder.php @@ -105,4 +105,24 @@ interface IFunctionBuilder { * @since 14.0.0 */ public function count($count, $alias = ''); + + /** + * Takes the maximum of all rows in a column + * + * @param mixed $field the column to maximum + * + * @return IQueryFunction + * @since 18.0.0 + */ + public function max($field); + + /** + * Takes the minimum of all rows in a column + * + * @param mixed $field the column to minimum + * + * @return IQueryFunction + * @since 18.0.0 + */ + public function min($field); } |