开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

flinkSQL 有没有内置的类似 group_concat的函数?

flinkSQL 有没有内置的类似 group_concat的函数?

展开
收起
我是三好学生 2023-04-19 16:56:59 1063 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    是的,阿里云实时计算 Flink 版的 SQL 引擎内置了字符串聚合函数 concat_ws,可以将一个分隔符和多个字符串进行组合,组成一个新的字符串。

    concat_ws 函数的语法如下:

    concat_ws(separator, str1, str2, ...)
    

    其中 separator 表示分隔符,str1str2 等表示需要连接的字符串。例如:

    SELECT concat_ws(',', name, age, address) FROM myTable;
    

    这个查询语句将查询结果里每条记录的 nameageaddress 字段中的值使用逗号 , 进行组合,并返回一个新的字符串。

    2023-04-30 22:48:06
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    Flink有一个类似的函数CONCAT_WS,Flink可以使用指定的分隔符separator连接多个字符串,详情请参考文档。 如果separator为NULL,则结果为NULL。如果某个字符串为 NULL,则跳过它;但是不会跳过空字符串。 例如 CONCAT_WS('~', 'AA','BB', '', 'CC') 会返回 AA~BB~~CC。

    2023-04-19 18:20:43
    赞同 展开评论 打赏
  • 存在即是合理

    Flink SQL内置了类似于GROUP_CONCAT的函数,称为GROUP_CONCAT。GROUP_CONCAT函数可以将多个字符串组合成一个字符串,并将它们存储在一个列表中。

    以下是一个使用GROUP_CONCAT函数的示例:

    SELECT GROUP_CONCAT(',' SEPARATOR ',') AS result FROM my_table;

    在上面的示例中,GROUP_CONCAT函数将多个字符串组合成一个字符串,并将它们存储在一个名为result的列表中。SEPARATOR参数指定了用于分隔字符串的分隔符。

    可以根据需要更改SEPARATOR参数的值,以便将字符串分隔为不同的列。

    2023-04-19 17:22:02
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载