为什么 '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 语句中登记结果,而 (+/)
则不会。因此,为什么我在上面手动完成了它。否则会出现“排名错误”。
为什么 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 语句中登记结果,而 (+/)
则不会。因此,为什么我在上面手动完成了它。否则会出现“排名错误”。