KDB/Q:获取某列值的和

KDB/Q:获取某列值的和,kdb,Kdb,我想创建一个列,当另一列(colB)的值等于某个值时,该列等于另一列(colA)中的值之和 如果没有该条件,我可以使用以下方法获得colA中所有值的总和: update TotalVal: sum colB by date from myTable 我试图通过使用 update GOT: sum colB by date from myTable where colA in (`abc,`edf) 这将为GOT创建正确的值,但GOT列仅在colA为abc或edf时才有值。这不是我真正想要的。

我想创建一个列,当另一列(
colB
)的值等于某个值时,该列等于另一列(
colA
)中的值之和

如果没有该条件,我可以使用以下方法获得
colA
中所有值的总和:

update TotalVal: sum colB by date from myTable
我试图通过使用

update GOT: sum colB by date from myTable where colA in (`abc,`edf)
这将为
GOT
创建正确的值,但
GOT
列仅在
colA
为abc或edf时才有值。这不是我真正想要的。 为了可视化,我想要的是
WANTED

date        colA    colB    GOT     WANTED
2020.08.17  abc     5       13      13
2020.08.17  mom     7               13
2020.08.17  xyz     8       13      13
2020.08.17  tuf     9               13

我只是自己修好的

update (GOT: sum colB where colA in (`abc,`edf)) by date from myTable 

可以去掉一些括号:
update get:sum colB where colA in`abc`def by date from myTable
您也可以使用乘法而不是where来删除一些字符,尽管这是一种情况:
update get:sum colB*colA in`abc`xyz by date from t t
谢谢,这很简洁,在这种情况下我应该如何解释*?它是否与
中的
具有相同的含义?否-假布尔值将值乘以零,因此有效求和仅对真值求和(因为它们将乘以布尔值1)。仅适用于某些聚合,
sum
是其中之一