首页 > 数据库 > mysql教程 > MySQL中如何将字符串聚合到列表中(类似于Oracle的LISTAGG)?

MySQL中如何将字符串聚合到列表中(类似于Oracle的LISTAGG)?

Barbara Streisand
发布: 2024-12-04 14:15:16
原创
482 人浏览过

How to Aggregate Strings into a List in MySQL (Similar to Oracle's LISTAGG)?

MySQL 中的聚合函数:将值聚合到列表中(类似于 LISTAGG) Oracle)

查询:

I need function, that returns list of strings.

I have data in table like this:

Id    MyString
------------------------
 1    First
 2    Second
 3    Third
 4    Fourth

I need function like this (something like this works in oracle):

select LISTAGG(MyString, ', ') as myList where id < 4

That returns something like this:

myList
------------------------
First, Second, Third
登录后复制

答案:

MySQL 提供了 GROUP_CONCAT() 函数这个目的。它将值聚合到以逗号分隔的列表中。

使用 GROUP_CONCAT() 查询:

select group_concat(MyString separator ', ') as myList 
from table
where id < 4
登录后复制

此查询将返回以逗号分隔的字符串列表,对于 id 小于 4 的所有行。“myList”列将包含聚合的结果。

注意: GROUP_CONCAT() 函数允许在必要时按多列进行分组。例如:

select group_concat(MyString separator ', ') as myList 
from table
where id < 4
group by another_column
登录后复制

此查询将按 another_column 列对结果进行分组,并为每个组创建一个字符串列表。

以上是MySQL中如何将字符串聚合到列表中(类似于Oracle的LISTAGG)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板