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
我觉得这很糟糕。有什么建议吗?
答案 0 :(得分:0)
我认为它看起来不错,但不需要ASC
只使用: -
ORDER BY juli
答案 1 :(得分:0)
您有很多0*x
次操作,显然没有任何贡献。我先把这些简化出来。此外,您似乎正在做很多deg->rad
转换,这些转换可能只是通过将数据存储在弧度中来改进。