话不多说直接上干货(该方式mysql版本必须是5.7以上)
select id,jingdu,weidu, st_distance_sphere(point(106.533096,29.575653), point(jingdu,weidu)) from 表名 where jingdu <>0 and weidu <>0 order by st_distance_sphere(point(106.533096,29.575653), point(jingdu,weidu)) limit 1000
*st_distance_sphere该函数返回值是米为单位
附:该文章由本人亲自编写,如有侵权,告知本人进行删除