如何在 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_ws 与 concat 多字段模糊匹配应用