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

如何在DolphinDB中合并同ID行并整合非空列值

在DolphinDB中合并相同ID的行并整合非空值

针对你需要合并相同id的行、整合各列非空值的需求,DolphinDB有两种高效且简洁的实现方式:

方法1:使用firstNotNull聚合函数

firstNotNull函数会返回分组内指定列的第一个非空值,完美匹配你的场景——同id下每个列仅存在一个非空值,直接提取该值即可。

示例代码:

// 构建示例表
sqltb = table(1 1 1 as id, 
              1 NULL NULL as val1, 
              NULL 2 NULL as val2, 
              NULL NULL 3 as val3)

// 合并行
result = select firstNotNull(val1) as val1, firstNotNull(val2) as val2, firstNotNull(val3) as val3 from sqltb group by id

执行后得到的结果:

id  val1  val2  val3
1   1     2     3

方法2:使用max/min聚合函数

由于同id下每个列只有一个非空值,其余均为NULL,而max/min函数会自动忽略NULL,直接取到唯一的非空值。这种方法在列数量较多时更简洁:

示例代码:

// 基础写法
result = select max(val1) as val1, max(val2) as val2, max(val3) as val3 from sqltb group by id

// 列数量多时的简化写法
cols = `val1`val2`val3
result = select [max(col) as col for col in cols] from sqltb group by id

性能说明

两种方法均基于DolphinDB原生分组聚合逻辑,处理大规模数据时性能优异,无需额外循环或复杂操作,是此类场景的最优解。

内容的提问来源于stack exchange,提问作者xiyan zheng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 23:42:14