1

我在 Google App Engine 的应用程序中有一个数据存储,每一行都有一个数字和一个datetimeproperty信息。

在应用程序中,我想做的是告诉工作日的平均数字,

例如数据存储中的样本数据

num          date
100          2013-10-16 21:04:17.809070
467          2013-10-13 21:19:19.014730
200          2013-10-09 22:19:20.015630

由于 2013-10-16 和 2013-10-09 是星期三,我想要一个类似的结果

150          

如何在 Gql 中执行此操作?

4

1 回答 1

3

由于数据存储不支持聚合函数(SUM、AVG 等),因此无法直接在 GQL 中执行此操作。最好的办法是手动执行此操作 - 查询您想要的日期(在此处使用数字投影可能是个好主意),然后自己平均它们。不过要小心——如果你有很多数据,这会很慢,最终每个请求都会花费太长时间。

单独跟踪这些统计数据也可能对您有意义。当您添加实体时,您还必须更新统计信息。请参阅有关分片计数器的此页面。

如果您正在进行批处理,另一种选择是在后端或 map reduce 中运行它。您获得的最新数字将取决于您运行工作的频率,但它会扩展。是 map reduce 文档的链接。

于 2013-10-16T23:45:55.640 回答