问题描述
我有一个查询,我想用定界符,
连接所有行。我可以使用STRING_AGG
在sql中轻松实现。如何为以下查询创建relNode? p>
SELECT STRING_AGG(CONCAT(col1,col2,col3),',')
FROM table;
如果没有,sqlStdOperator
中builder.call(...,RexNode... rexNodes)
的哪些组合可用于实现此目的?
解决方法
STRING_AGG的等效值为SqlStdOperator.LISTAGG
builder
.scan("table")
.project(
builder.call(SqlStdOperatorTable.LISTAGG,builder.call(SqlStdOperatorTable.CONCAT,builder.field("col1"),builder.field("col2"),builder.field("col3")
)
),builder.literal(",")
)
)
.build()