首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL - list中的聚合函数(如Oracle中的LISTAGG )

问MySQL - list中的聚合函数(如Oracle中的LISTAGG )
EN

Stack Overflow用户
提问于 2012-02-27 03:28:24
回答 2查看 45.7K关注 0票数 32

我需要一个返回字符串列表的函数。

我在表中有这样的数据:

代码语言:javascript
复制
Id    MyString
------------------------
 1    First
 2    Second
 3    Third
 4    Fourth

我需要这样的函数(在oracle中类似这样的功能):

代码语言:javascript
复制
select LISTAGG(MyString, ', ') as myList where id < 4

这将返回类似如下的内容:

代码语言:javascript
复制
myList
------------------------
First, Second, Third

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-27 03:32:12

你在找GROUP_CONCAT()

试试这个:

代码语言:javascript
复制
select group_concat(MyString separator ', ') as myList from table
where id < 4

当然,您可以对结果执行group by操作。

票数 58
EN

Stack Overflow用户

发布于 2018-10-28 18:23:55

从JSON5.7.22开始,您还可以使用两个MySQL聚合函数:JSON_ARRAYAGG或JSON_OBJECTAGG。您可以将它们与MySQL's JSON functions结合使用,以获得聚合为JSON的结果。与GROUP_CONCAT不同的是,除了max_allowed_packet (它会影响所有查询)之外,没有MySQL配置参数可以限制返回值的大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9456380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档