Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 KDB 中进行 Group By 时。我必须在该组中为一列找到第一个非空值
例如
t:([]a:1 1 1 2;b:0n 1 3 4 ) select first b by a from t
我发现实现这一目标的一种方法是:
select first b except 0n by a from t
我不确定这是否是正确的方法。请提供建议。
这对我来说似乎是个好方法。
两种选择包括:
select first b where not null b by a from t
好处是它不依赖于特定的列类型,也许更清楚地解释了你的意图,但它稍长一些。或者
select b:last fills reverse b by a from t
在某些测试运行中,这是最快的方法。
在 kdb 中,总是有多种方法可以做事,而从来没有真正正确或错误的答案。