在mysql经纬度搜索中使用匹配
我正在尝试组合一个简单的位置搜索,人们可以输入关键字和位置,并显示最近的结果 我可以得到自由文本搜索和radius搜索的mysql语句,它们可以单独工作,但不能一起工作 我的尝试如下在mysql经纬度搜索中使用匹配,mysql,search,latitude-longitude,Mysql,Search,Latitude Longitude,我正在尝试组合一个简单的位置搜索,人们可以输入关键字和位置,并显示最近的结果 我可以得到自由文本搜索和radius搜索的mysql语句,它们可以单独工作,但不能一起工作 我的尝试如下 SELECT place_id, ( 3959 * acos ( cos ( radians(52.586973) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-2.12882
SELECT
place_id,
(
3959 * acos (
cos ( radians(52.586973) )
* cos( radians( lat ) )
* cos( radians( lng ) - radians(-2.128820000000019) )
+ sin ( radians(52.586973) )
* sin( radians( lat ) )
)
) AS distance
FROM places
HAVING distance < 30,
MATCH (title,details) AGAINST ('Cafe') AS score
FROM places
WHERE MATCH (title, details)
AGAINST ('Cafe')
ORDER BY distance
阅读SQL基础知识-如果您没有按正确的顺序放置SELECT、WHERE、GROUP BY、HAVING和ORDER部分,那么它将无法正常工作。顺便说一句:您正在创建一个性能噩梦!试着先把拳击打成长方形,然后是距离/比赛!谢谢大家-采纳了你们的建议,并得到了以下结果:选择*,比赛标题,以“咖啡馆”为分数的详细信息,3959*acos cos弧度52.586973*cos弧度lat*cos弧度lng-弧度-2.128820000000019+sin弧度52.586973*sin弧度lat作为距离有距离的地方的距离