首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GAE应用与GQL

GAE应用与GQL
EN

Stack Overflow用户
提问于 2011-01-11 19:16:38
回答 2查看 767关注 0票数 1

我需要创建一个应用程序来收集相关信息(NameOfWebSite,DateTimeofVisit),在此之后,我希望收到关于每个定义期间(月、周、年)访问次数的信息,并按每个时间段的访问次数排序。例如:

www.google.com 2345次访问,每个规定期间

www.yahoo.com 1254次访问

每个规定期间www.abracadabra.com 5次访问

我能在GQL的帮助下做到这一点吗?在普通的SQL中,它将类似于

按NameOfWebSite从表组中选择DateTimeofVisit>XXX和DateTimeofVisit < YYY,计数(*)

在GAE和GQL方面如何更好地实现这一逻辑?

EN

回答 2

Stack Overflow用户

发布于 2011-01-12 01:12:34

GQL不支持GROUP BY和聚合函数,如COUNTMAX。这就是为什么它被称为GQL而不是SQL的原因。有关更多信息,请查看GQL参考

Google不允许聚合函数,它是为可伸缩性而做的权衡。因此,如果需要对数据集执行聚合功能,则必须自己执行。如果它是一个简单的计数器,您可以存储一个计数器,并在每次添加符合条件的记录时增加它。对于具有模糊维度的更复杂的聚合函数(用于分组),您必须提出您的自定义解决方案。没有简单的答案。

Nick的建议可能是解决方案之一;有一项任务是定期检查条件和计算聚合函数。但它永远不会是准确的,它永远是某种近似的东西。这也是为什么Google没有显示与特定搜索查询匹配的确切数量,因为他们不知道,至少他们不想计算,他们只是提供一个估计。

票数 1
EN

Stack Overflow用户

发布于 2011-01-11 23:07:35

你不能在GQL里直接这么做。相反,您应该使用mapreduce或您自己的任务队列任务来定期计算聚合,并将它们存储在数据存储中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4661639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档