我有经度和纬度的图元,我想选择最接近给定点的图元。
我发现这个例子看起来可行
SELECT *,
SQRT(POW((69.1 * (locations.latitude - 27.950898)) , 2 ) +
POW((53 * (locations.longitude - -82.461517)), 2)) AS distance
FROM locations
ORDER BY distance ASC
LIMIT 5
但是我更喜欢使用JPQL,因为我还有很多其他的联接等,在JPQL而不是本机查询中感觉更容易。
当我尝试这样的事情时,JPA抱怨SQRT令牌。
SELECT DISTINCT p, SQRT(....) AS distance, FROM Place p .... ORDER BY distance ASC
任何人都知道如何编写这样的查询,或者是另一种更好的方法?
谢谢!
/奥斯卡
最佳答案
据我从研究得出的结论,可能会反复试验,JPQL根本无法应对这种情况。我不得不将查询重写为本地查询。
关于java - JPQL通过纬度和经度获取最近的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2064977/