当前位置: 首页 > news >正文

mysql( 8.3.0) LISTAGG

LISTAGG 在oracle 中经常使用

在 MySQL 中,虽然没有名为 LISTAGG 的内置函数,但可以通过 GROUP_CONCAT 函数实现类似的功能——将多行数据按分组合并为单个字符串。以下是详细用法和示例:

示例

CREATE TABLE employees ( id INT AUTO_INCREMENT PRIMARY KEY, -- 增加一个自增的主键ID dept VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL );

INSERT INTO employees (dept, name) VALUES ('IT', 'Alice'), ('IT', 'Bob'), ('HR', 'Carol'), ('IT', 'Alice'), -- 注意这里有重复的名字 ('HR', 'David');

SELECT
    dept,
    GROUP_CONCAT(name) AS members
FROM
    employees
GROUP BY
    dept;

去重

与其他数据库对比

数据库函数特点
MySQLGROUP_CONCAT支持去重、排序、自定义分隔符
OracleLISTAGG语法简洁,但早期版本不支持去重
SQL ServerSTRING_AGG类似 MySQL,需 SQL Server 2017+
PostgreSQLSTRING_AGG功能与 MySQL 相似

相关文章:

  • 使用Multiprocessing模块创建子进程,需要放到__main__中
  • 【最后203篇系列】021 Q201再计划
  • 《慢慢变富》第三章 估值篇:价值的锚与安全边际
  • 广度优先搜索(BFS)完全解析:从原理到 Java 实战
  • 信创-人大金仓数据库创建
  • 昆仑技术重构AI大模型落地范式,长期作“加法”迎来国产生态化“拐点”
  • Performance Hub Active Report
  • 机器学习之KL散度推导
  • 审视单词:一个单词的10个维度
  • 1.8 函数的连续性和间断点
  • pdm self update 504 gateway timeout
  • PY32F002BW15U7TR
  • C#里使用libxl来合并单元格的例子
  • 深度学习PyTorch之动态计算图可视化 - 使用 torchviz 生成计算图
  • 条件变量,锁,共享数据的关系
  • SSL/TLS 和 SSH 介绍以及他们的区别
  • 用@keyframes-animation来实现动画效果
  • Postgresql 删除数据库报错
  • Springboot实现使用断点续传优化同步导入Excel
  • FastAPI 异步处理模板:高效处理耗时任务,解决使用async api调用时返回顺序不对的问题
  • 上海交大:关注到对教师邵某的网络举报,已成立专班开展调查
  • 首届上海老年学习课程展将在今年10月举办
  • 以军总参谋长:已进入“决定性打击计划的第二阶段”
  • 加力、攻坚、借力、问效,上海为优化营商环境推出增量举措
  • 上海加力提速推进优化营商环境,明确“十大攻坚突破任务”
  • 酒店取消订单加价卖何以屡禁不绝?专家建议建立黑名单并在商家页面醒目标注