[
https://issues.apache.org/jira/browse/CALCITE-4349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17257696#comment-17257696
]
Zhen Wang commented on CALCITE-4349:
------------------------------------
{code:sql}
select
listagg(deptno, ename, ";") within group(order by deptno, ename) as
list_combine
from emp;
{code}
it seems separating concatenated records with list_agg is not supported at the
moment
> Caused by: org.apache.calcite.runtime.CalciteContextException: From line 2,
> column 28 to line 2, column 30: Column ';' not found in any table
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:506)
so correspondingly, group_concat can't support it.
> Support GROUP_CONCAT aggregate function for MySQL
> -------------------------------------------------
>
> Key: CALCITE-4349
> URL: https://issues.apache.org/jira/browse/CALCITE-4349
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Zhen Wang
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Support the {{GROUP_CONCAT}} aggregate function for MySQL. Here is the
> [syntax|https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_group-concat]:
> {noformat}
> GROUP_CONCAT([DISTINCT] expr [,expr ...]
> [ORDER BY {unsigned_integer | col_name | expr}
> [ASC | DESC] [,col_name ...]]
> [SEPARATOR str_val])
> {noformat}
>
> {{GROUP_CONCAT}} is analogous to {{LISTAGG}} (see CALCITE-2754) (and also to
> BigQuery and PostgreSQL's {{STRING_AGG}}, see CALCITE-4335). For example, the
> query
> {code:java}
> SELECT deptno, GROUP_CONCAT(ename ORDER BY empno SEPARATOR ';')
> FROM Emp
> GROUP BY deptno
> {code}
> is equivalent to (and in Calcite's algebra would be desugared to)
> {code:java}
> SELECT deptno, LISTAGG(ename, ';') WITHIN GROUP (ORDER BY empno)
> FROM Emp
> GROUP BY deptno
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)