mysql查詢路徑不對,mysql中如何按距離排序篩選商家?
現在很多系統的一些功能都是基于LBS來提供服務的。什么是LBS呢,LBS是指基于地理位置的服務,通過獲取用戶的地理位置從而給用戶提供更好的服務。比如我們使用外賣平臺時可以選擇離最近的商家,原理無非就是將你的位置信息和商家的位置信息進行對比,找出距離最近的位置并排序返回結果。
MySQL支持空間數據類型MySQL 5以上都是支持空間數據類型,它主要支持以下空間類型:
點:POINT
線:LINESTRING
面:POLYGON
集合:GEOMETRY,可存放點、線、面
還支持多個點、多個線、多個面的數據。
MySQL按距離查找并排序的實現思路1、字段類型選擇 POINT
對于用戶的位置信息我們選擇POINT類型存儲,將用戶經度、緯度入庫保存,比如下圖中的pt字段。
2、通過 GLength 函數進行區間搜索
select id, pt,city from locationPoint where 0.5 >= GLength(LineStringFromWKB(LineString(pt, point(113.4 ,34.46))))以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!