考虑下表:
CREATE TABLE users (
date timestamp,
user_id text,
PRIMARY KEY (date, user_id)
);
以以下数据为例:
date user_id
25Aug2013 1
25Aug2013 2
25Aug2013 1
25Aug2013 3
26Aug2013 1
26Aug2013 2
27Aug2013 2
27Aug2013 3
27Aug2013 4
28Aug2013 1
28Aug2013 2
28Aug2013 1
28Aug2013 3
如何计算唯一的user_id数量?
最佳答案
一个想法可能是使用set collection:
CREATE TABLE stats_unique (
stat_group text,
user_ids set<text>,
PRIMARY KEY (stat_group)
);
插入将自动从集合中删除重复项,并且选择项将立即检索所有ID,因此您可以在应用程序级别进行计数。
如果您仅对唯一的user_id的数量感兴趣,而又没有实际从磁盘中检索它们,那么恐怕您所要做的仅仅是更改应用程序代码。
并记住深入研究collections limitations。