KDB计数列的唯一组合

KDB计数列的唯一组合,kdb,Kdb,假设我有一张像这样的桌子 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映射到唯一计数的任何其他格式) 一种方法是这样: q)select count distinct id by evt from tbl evt| id ---| -- a | 3 b | 2 c | 3 如果您想让它像在您的示例中一样没有眼睛,您可以添

假设我有一张像这样的桌子

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映射到唯一计数的任何其他格式)


一种方法是这样:

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

那很快。而且比我想象的要简单。我喜欢简单。谢谢你,我会的。你太快了。需要再等几分钟才能让我接受回答啊抱歉,我没意识到你要等一段时间!
q)select count id by evt from distinct tbl
evt| id
---| --
a  | 3
b  | 2
c  | 3