我正在尝试查询一个小表,以查找表中所有距离输入坐标点1公里范围内的记录。表中的每个记录都有相应的“Lat”和“Long”列。我的查询是:
var sql = `SELECT * FROM GeoTest WHERE st_distance_sphere(POINT(-100,35),POINT(Long,Lat)) <= 1000`
错误 '您的SQL语法有误; 请检查对应于您的MySQL服务器版本的手册,以获取正确的语法,接近\'Long,Lat)) <= 1000\'
表中的数据
id Lat Long
1 30.5092060000000000 -97.6046760000000000
2 31.1310390000000000 -97.7805610000000000
我不知道如何使用选定行返回的纬度和经度来比较距离,然后只有在1公里范围内才返回记录。我该如何将记录中的Long和Lat字段替换到st_distance_sphere函数中?我确定我在这里缺少非常简单的东西。感谢帮助这个SQL新手!