【问题标题】:Why does 'sum' work but '+/' not work in KDB queries?为什么在 KDB 查询中“sum”有效但“+/”无效?
【发布时间】:2021-12-15 13:39:18
【问题描述】:

为什么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
               ^

【问题讨论】:

    标签: kdb


    【解决方案1】:

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

    select enlist (+/)age from j
    

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

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2016-09-04
      相关资源
      最近更新 更多