如何在 MySQL 中对 concat_ws(',',collect_list(a)) 进行排序?

Posted

技术标签:

【中文标题】如何在 MySQL 中对 concat_ws(\',\',collect_list(a)) 进行排序?【英文标题】:How to sort concat_ws(',',collect_list(a)) in MySQL?如何在 MySQL 中对 concat_ws(',',collect_list(a)) 进行排序? 【发布时间】:2021-09-28 10:11:37 【问题描述】:

我有一个包含 2 列时间和文本的表格,我想在其中按时间顺序连接文本。

我presto sql,我可以做ARRAY_AGG(text ORDER BY time),我在mysql中怎么做? 我发现CONCAT_WS(',', COLLECT_LIST(text)) 可以做部分工作,但不知道如何快速按时间订购。

谢谢。

【问题讨论】:

这里的错误,我希望查询在 SparkSQL 中执行 【参考方案1】:

你会使用:

GROUP_CONCAT(test ORDER BY time)

注意:这会产生一个逗号分隔的字符串,而不是一个数组。

【讨论】:

我可以再问一个问题,我试过了,但我收到了这个错误'org.apache.spark.sql.catalyst.parser.ParseException: mismatched input 'ORDER' Expecting ')' , ','(第 3 行,位置 41)'。我正在使用 SparkSQL,我的代码是 SELECT GROUP_CONCAT(text ORDER BY time ASC) as lst from ... @duoduolikes 。 . .您的问题是:“我怎样才能在 MySQL 中做到这一点?”。这回答了你的问题。

以上是关于如何在 MySQL 中对 concat_ws(',',collect_list(a)) 进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

php 使用 concat_ws 在 mysql 结果中添加空格

mysql:concat()与concat_ws()

如何 concat_ws 多个字段并删除空槽的重复分隔符

mysql concat_ws 与 concat 多字段模糊匹配应用

mysql之concat concat_ws group_concat

MYSQL GROUP_CONCAT CONCAT_WS 并处理 NULL 值