2013-10-16 16 views
1

我在Google App Engine上的應用程序中有一個數據存儲區,每行都有一個數字和一個datetimeproperty信息。如何在Gql中按工作日彙總結果

在我所試圖做的是告訴數的平均值在平日的應用,

例如在數據存儲樣本數據

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月9日星期三是,我想結果是這樣

150   

如何做到這一點的GQL?

回答

3

由於聚合函數(SUM,AVG等)在數據存儲中不受支持,因此無法直接在GQL中執行此操作。你最好的辦法是手動完成 - 對你想要的日期發出一個查詢(在這裏用這個數字進行投影可能是一個好主意),然後自己對它們進行平均。請小心 - 如果你有很多數據,這將會很慢,並且最終對於每個請求都會花費太長時間。

您也可以單獨跟蹤這些統計數據。當您添加實體時,您還需要更新統計信息。有關分片計數器,請參閱this page

如果您正在進行批處理,另一種選擇是在後端或縮放地圖中執行此操作。如何獲得最新的數字將取決於您運行這項工作的頻率,但它將會擴展。 Here是地圖縮小文檔的鏈接。