我需要根据纬度和经度以及距离参数获取最近邻居商家位置的列表。为此,我使用以下查询创建了一个表:
**create table location.ML_POINTS_5K(
MERCHANT_ID INT(15),
STREET_ADDRESS VARCHAR(50),
CITY VARCHAR(50),
STATE VARCHAR(25),
ZIPCODE VARCHAR(11),
COUNTRY CHAR(2),
ACCESSIBILITY CHAR(1),
LOCATION_GEO_CODES_SDO POINT NOT NULL,
BRAND_ID INT(7) NOT NULL,
SPATIAL INDEX(LOCATION_GEO_CODES_SDO),
PRIMARY KEY(MERCHANT_ID),
FOREIGN KEY(BRAND_ID) REFERENCES BRAND(BRAND_ID)
) ENGINE=MyISAM;**
现在,我还使用以下示例查询将一些记录插入到该表中,以确保点几何插入正常。
**INSERT INTO LOCATION.ML_POINTS_5K VALUES(11111,'111 678 St','Warren', 'OH', '11111','US','Y',GeomFromText('POINT(-82.7071458 39.90564701)'),1004);**
现在我需要在 MYSQL 中构造一个选择查询,它将从指定的纬度、经度和距离返回此表中的所有位置。
例如,如果我的纬度为 39.34,经度为 -84.56,距离为 5 英里,我如何构建查询以从上面创建的表中获取 5 英里范围内的所有位置记录。? .