Arangodb 在COLLECT中使用groupsVariable跟踪唯一值
我使用下面的AQL按月和按年跟踪独特的访客。每个点击都包含一个日期时间戳、\u date和一个用户名userArangodb 在COLLECT中使用groupsVariable跟踪唯一值,arangodb,aql,Arangodb,Aql,我使用下面的AQL按月和按年跟踪独特的访客。每个点击都包含一个日期时间戳、\u date和一个用户名user FOR hit IN PageHits COLLECT month = DATE_MONTH(hit._date),year=DATE_YEAR(hit._date) INTO user=hit.user SORT year,month RETURN {month,year,uniqueVisitors:LENGTH(UNIQUE(user))} 该查询计算出正确答案,但我觉得它效率低
FOR hit IN PageHits
COLLECT month = DATE_MONTH(hit._date),year=DATE_YEAR(hit._date) INTO user=hit.user
SORT year,month
RETURN {month,year,uniqueVisitors:LENGTH(UNIQUE(user))}
该查询计算出正确答案,但我觉得它效率低下,因为变量user包含许多重复项。最终长度/唯一性将删除这些内容并返回唯一访问者的数量
我看了总量,但所有的操作都是统计的
那么,有没有办法只向组变量user中添加不同的/唯一的值呢?实际上有一些相关的工作(尚未完成):一旦完成,它将添加一个
distinct
操作,可在聚合中使用。在此之前,我认为您的查询仍然是实现预期结果的最佳方式。谢谢。我会密切关注新功能,并在发布后更新此帖子