Mysql 避免SQL地理的列联表:连接两个表的点距离

Mysql 避免SQL地理的列联表:连接两个表的点距离,mysql,geolocation,Mysql,Geolocation,我在转换sql语句时遇到问题。我有两张表,城市和人,每个表都有一个点列 我已经有了一个工作距离函数,但是现在我想选择在一个城市的特定距离内的所有人,不想做城市和人的列联表,就像 选择c.name,计数(p.id)作为编号, glength(LineStringFromWKB(LineString(geomeFromText)(astext(PointFromWKB(c.geoLocation)))、geomeFromText(astext(PointFromWKB(p.geoLocation)

我在转换sql语句时遇到问题。我有两张表,城市和人,每个表都有一个点列

我已经有了一个工作距离函数,但是现在我想选择在一个城市的特定距离内的所有人,不想做城市和人的列联表,就像


选择c.name,计数(p.id)作为编号,
glength(LineStringFromWKB(LineString(geomeFromText)(astext(PointFromWKB(c.geoLocation)))、geomeFromText(astext(PointFromWKB(p.geoLocation)))作为距离
来自城市c,个人p
距离小于100的
按距离订购ASC


必须有一种更有效的方法来做到这一点。非常感谢您的评论。

为什么没有分组时会有
计数?
geoLocation
字段的数据类型是什么?我忘记了GroupBy子句。字段是点,就像在描述中写的一样