通过计算距离获得独特的附近城市

qc6wkl3g  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(189)

我的table places 包含以下列: | id | name | city | state | lon | lat 这些地方可以位于同一个城市。我正在尝试升级以下查询以获取唯一的附近城市:

SELECT
  id,
  city,
  state,
  (3959 * acos(
      cos(radians(:lat))
      * cos(radians(lat))
      * cos(radians(lon) - radians(:lon))
      + sin(radians(:lat))
        * sin(radians(lat))
  )) AS distance
FROM contact_references
HAVING distance < 50
ORDER BY distance
LIMIT 0, 20;
``` `Group By` 引发以下错误:
[42000][1055]选择列表的表达式#1不在group by子句中,并且包含未聚合的列
这需要改变现状 `sql_mode` . 我不能在生产服务器上这样做(策略)。
我也不能用 `DISTINCT` 因为距离不是唯一的。所以,这是一个复杂的挑战,我已经一个星期没法解决了。有人建议在哪里挖吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题