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

kdb中如何使用指定列名列表将多列数据合并为单个列

解决方案

你可以通过提取指定列构成子表后翻转的方式实现,正确写法如下:

Bidcols:`Bid1px`Bid2px`Bid3px;
// 写法1:在update语句内直接调用
table:update All_bid:flip table[Bidcols] from table;

如果希望写法更简洁,也可以用取值函数实现:

table:update All_bid:flip value Bidcols from table;

原理解释

  • table[Bidcols] 会返回仅包含Bidcols定义的三列的子表,结构和你手动写的(Bid1px;Bid2px;Bid3px)完全一致
  • flip操作会把列优先的表结构转换为行优先的列表,刚好对应你需要的每行bid值列表效果
  • 第二种写法的value Bidcols会在当前表上下文内直接取出对应列的值列表,效果和第一种一致,写法更短

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:48:02