2011-08-24 37 views
0

我相信數學運算有限制可以針對GQL執行。以下SQL語句適用於正常的關係數據庫系統:GAE + GQL數學運算的侷限性

SELECT id, (3959 * acos(cos(radians(lat_t)) * 
cos(radians(lat)) * cos(radians(lng) - radians(lng_t)) 
+ sin(radians(lat_t)) * sin(radians(lat)))) AS distance 
FROM Stores HAVING distance < 25 ORDER BY distance 

有沒有人知道如何使用GQL語句執行上述SQL語句?或者至少可以替代在GQL中替換cos,radians,sin等的數學運算?緊急。

回答

2

AppEngine不支持在GQL中使用這種類型的查詢。你只能在平等和不平等方面進行簡單的選擇。

可以效仿的地理搜索使用地理哈希,但是:

http://code.google.com/appengine/articles/geosearch.html

+0

你也不能在查詢中選擇特定的(計算機或其他)列 - 查詢將返回整個實體。 –