KDB 计数列的唯一组合
KDB count unique combination of columns
假设我有一个 table 喜欢
tbl:flip `id`evt!(1 1 1 2 2 2 2 2 3 3; `a`b`c`a`b`b`b`c`a`c)
如何有效地计算 evt 的出现次数,但每个 id 只计算一次
因此,结果应如下所示(或将 evt 映射到唯一计数的任何其他格式)
res:flip `evt`ct !(`a`b`c; 3 2 3)
一种方法是这样的:
q)select count distinct id by evt from tbl
evt| id
---| --
a | 3
b | 2
c | 3
如果您希望它像示例中那样取消加密,您可以将 0!
添加到开头
与上述方法非常相似,但在计算 id
:
的出现次数之前,您还可以对整个 table 运行 distinct
q)select count id by evt from distinct tbl
evt| id
---| --
a | 3
b | 2
c | 3
假设我有一个 table 喜欢
tbl:flip `id`evt!(1 1 1 2 2 2 2 2 3 3; `a`b`c`a`b`b`b`c`a`c)
如何有效地计算 evt 的出现次数,但每个 id 只计算一次
因此,结果应如下所示(或将 evt 映射到唯一计数的任何其他格式)
res:flip `evt`ct !(`a`b`c; 3 2 3)
一种方法是这样的:
q)select count distinct id by evt from tbl
evt| id
---| --
a | 3
b | 2
c | 3
如果您希望它像示例中那样取消加密,您可以将 0!
添加到开头
与上述方法非常相似,但在计算 id
:
distinct
q)select count id by evt from distinct tbl
evt| id
---| --
a | 3
b | 2
c | 3