为什么 'sum' 有效但 '+/' 在 KDB 查询中无效?

Why does 'sum' work but '+/' not work in KDB queries?

为什么 sum 在这里工作,但基础形式 +/ 不工作? (摘自https://code.kx.com/q/ref/sum/

t: ([]name:`Jack`Jill`Janet;hair:`brown`black`fair;eye:`blue`green`hazel;age:12 9 14)

q)select sum age from t
age
---
35
q)select +/age from j
'/
  [0]  select +/age from j
               ^

这是因为+/是k语法。要在 q 中调用它(和类似的 k 构造),您需要将其括在括号中。

select enlist (+/)age from j

一般来说,如果关联的 k 表达式存在内置的 q 关键字,您应该使用该关键字(在本例中为 sum),因为它可能会进行进一步的优化。 在 sum 的情况下,q 将自动在 select 语句中登记结果,而 (+/) 则不会。因此,为什么我在上面手动完成了它。否则会出现“排名错误”。