SELECT *,round(6378.138*2*asin(sqrt(pow(sin((lat*pi()/180-0*pi()/180)/2),2)+cos(lat*pi()/180)*cos(0*pi()/180)* pow(sin((lng*pi()/180-0*pi()/180)/2),2)))*1000) AS juli
FROM `institution` a
WHERE round(6378.138*2*asin(sqrt(pow(sin((lat*pi()/180-0*pi()/180)/2),2)+cos(lat*pi()/180)*cos(0*pi()/180)* pow(sin((lng*pi()/180-0*pi()/180)/2),2)))*1000)<1000000
ORDER BY juli ASC
LIMIT 10
我认为这是不好的。任何建议?我需要一些建议来改变我的sql
查询应该做什么?它究竟在做什么? –
@LukasKabrt:它似乎在计算两个地理位置之间的某种大圆距离(如lat/lng变量和trig函数所示)。 – 0x24a537r9