You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kylin中将子查询结果转为数组?PostgreSQL写法在Kylin报错

Kylin实现子查询结果转数组的方案

你之前使用的PostgreSQL风格ARRAY(子查询)语法在Kylin中不被支持,Kylin基于Calcite SQL语法体系,使用聚合函数实现多值转数组的需求,具体写法如下:

匹配你需求的等价SQL

SELECT COLLECT_LIST(A.ID)
FROM A
WHERE A.num = 123

补充说明

  • 如果你需要对生成的数组元素去重,可以将COLLECT_LIST替换为COLLECT_SET函数
  • 上述两个函数默认在Kylin 4.x及以上版本支持,低版本需要确认项目是否开启了内置聚合函数权限
  • 如果需要按维度分组生成对应数组,正常添加GROUP BY子句即可,示例如下:
-- 按num分组,生成每个num对应的ID数组
SELECT num, COLLECT_LIST(ID) AS id_array
FROM A
GROUP BY num

内容的提问来源于stack exchange,提问作者Nguyễn Nguyễn Phúc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:27:05