91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

mysql怎么查詢圓形內數據

小億
151
2023-11-23 09:09:54
欄目: 云計算

在MySQL中,查詢圓形內的數據可以使用以下方法:
1. 使用經緯度計算距離的方式:

SELECT *
FROM table_name
WHERE 

????ACOS(SIN(radians(lat))??SIN(radians(target_lat))?+?COS(radians(lat))??COS(radians(target_lat))?

?????COS(radians(target_lng)?-?radians(lng)))??6371?<=?radius;

其中,table_name是你的表名,latlng分別是存儲緯度和經度的字段名,target_lattarget_lng是目標圓心的緯度和經度,radius是查詢的半徑(單位為千米)。
2. 使用地理空間索引的方式:
首先,確保表中的經緯度字段創建了地理空間索引。例如:

ALTER?TABLE?table_name?ADD?COLUMN?location?POINT;
UPDATE?table_name?SET?location?=?POINT(lng,?lat);
CREATE?SPATIAL?INDEX?idx_location?ON?table_name(location);

然后,使用以下查詢語句:

SELECT?*
FROM?table_name
WHERE?ST_Distance_Sphere(location,?POINT(target_lng,?target_lat))?<=?radius?*?1000;

其中,table_name是你的表名,location是存儲經緯度的字段名,target_lattarget_lng是目標圓心的緯度和經度,radius是查詢的半徑(單位為千米)。
注意:第二種方法需要MySQL版本5.7以上,且啟用了地理空間索引功能。

0
托克逊县| 宣恩县| 凌海市| 瑞金市| 那曲县| 个旧市| 铅山县| 旅游| 涟水县| 娄烦县| 舟曲县| 来宾市| 甘南县| 竹山县| 岑巩县| 皋兰县| 长武县| 台安县| 依安县| 浑源县| 垣曲县| 闻喜县| 五原县| 高雄市| 昭苏县| 万州区| 盐边县| 襄城县| 宁海县| 凤城市| 泾阳县| 磐安县| 太白县| 饶平县| 黑山县| 平武县| 虹口区| 修文县| 清水河县| 松滋市| 西畴县|