如果执行 group by,Kdb 会为空列计算无穷大。
t:([]a: 1 1 2;b: 3 2 0n)
select min b by a from t
a
1 2.0
2 ow
ow 是无穷大。
有什么办法我可以null(0n)
得到2
来自 Jeff Borror 的 q for mortals:
q)min 0N 5 0N 1 3 / nulls are ignored
1
q)min 0N 0N / infinity if all null
0W
使用空值操作时应该小心。请注意以下事项
作为附加信息:
q)max 0N 0N
-0W
q)min 0N 0N
0W
q)0N+2
0N
q)sum 0N 2
2
q)sum 0N 0N
0
这是预期的结果;之后您需要更新:
update b:?[0w=b;0N;b] from select min b by a from t