[
https://issues.apache.org/jira/browse/CALCITE-5283?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zou reassigned CALCITE-5283:
----------------------------
Assignee: Zou
> Add ARG_MIN, ARG_MAX (aka MIN_BY, MAX_BY) aggregate functions
> -------------------------------------------------------------
>
> Key: CALCITE-5283
> URL: https://issues.apache.org/jira/browse/CALCITE-5283
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Zou
> Priority: Major
>
> Add ARG_MIN, ARG_MAX (aka MIN_BY, MAX_BY) aggregate functions.
> For example, the following query prints the name of the lowest paid employee
> in each department:
> {code:java}
> SELECT deptno, ARG_MIN(sal, ename)
> FROM emp
> GROUP BY deptno;
> +------------+------------+
> | deptno | _c1 |
> +------------+------------+
> | 10 | MILLER |
> | 20 | SMITH |
> | 30 | JAMES |
> +------------+------------+
> {code}
> If multiple employees have the same salary, arbitrarily chooses one to return.
> See [Yandex description of
> ARG_MIN|https://cloud.yandex.com/en/docs/datalens/function-ref/ARG_MIN]. Also
> implemented in Alibaba MaxCompute, Clickhouse, DuckDB. (And in Alibaba
> MaxCompute, Spark SQL, Firebolt, PrestoDB, Trino as MIN_BY/MAX_BY.)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)