summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2019-09-07 11:09:11 +0200
committerGitHub <noreply@github.com>2019-09-07 11:09:11 +0200
commit1cfb8513004864640be506b5ed288dea85d79855 (patch)
tree074411077a5b3a04f90028fbd2286c3b8258b8b1 /lib
parentb7cf1f322d80c343127525333c89f5e41c0fb694 (diff)
parent8ef5a366eccaab850dab4641619c704a0b36f3d9 (diff)
downloadnextcloud-server-1cfb8513004864640be506b5ed288dea85d79855.tar.gz
nextcloud-server-1cfb8513004864640be506b5ed288dea85d79855.zip
Merge pull request #17006 from nextcloud/querybuilder-max-min
add MAX and MIN to functionbuilder
Diffstat (limited to 'lib')
-rw-r--r--lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php8
-rw-r--r--lib/public/DB/QueryBuilder/IFunctionBuilder.php20
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);
}