MariaDB 10.2如何将单列查询多行结果转换为数组格式的单个值
MariaDB 10.2 多行单列结果合并为单单元格数组实现方法
直接使用MariaDB 10.2及以上版本原生支持的JSON_ARRAYAGG聚合函数即可完成需求,该函数会自动将指定列的多行值聚合为标准JSON数组格式。
基础实现代码
SELECT JSON_ARRAYAGG(league_id) AS league_id_array FROM leagues;
执行后返回的league_id_array字段就是你需要的单单元格数组结构,格式为[1001, 1002, 42022, 203412, 24252...]。
常用扩展用法
- 如需对数组内的ID排序,可以在聚合函数内指定排序规则:
SELECT JSON_ARRAYAGG(league_id ORDER BY league_id ASC) AS league_id_array FROM leagues;
- 如需过滤
league_id为NULL的行,避免数组中出现NULL值,可添加WHERE条件:
SELECT JSON_ARRAYAGG(league_id) AS league_id_array FROM leagues WHERE league_id IS NOT NULL;
内容的提问来源于stack exchange,提问作者arsenal88
相关产品推荐
相关产品推荐

