只是为您指点一些,这可能会有所帮助:
你不应该使用 group by 要么 distinct 在lat / lon或它们的任何组合上,因为它们是连续的浮点数而不是离散的整数或字符串。
group by
distinct
出于同样的原因,你不应该在lat / lon或它们的总和上使用WHERE子句。如果您要检查两个地点的接近程度,请使用 st_distance() 功能而不是。
st_distance()
多个城市名称可以指代相同的位置。例如,纽约,纽约和纽约曼哈顿。
还有一个非技术性的观点:在您的数据库中存储Google地理编码数据违反了他们的许可协议。考虑使用其他来源(例如 Y-地址 ,由我工作的公司制作)。