MYSQL 使用 table 数据和 ST_Distance_Sphere 的地理空间函数
MYSQL geospatial function using table data and ST_Distance_Sphere
这是我的查询,它试图 return 从特定点到 table 中所有记录的距离。
这是Table创作
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fname` varchar(45) DEFAULT NULL,
`lname` varchar(45) DEFAULT NULL,
`location` point DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=latin1;
这是select声明。
`SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), location) as distance from user;`
但它会产生以下错误:
'Error', '1210', 'Incorrect arguments to st_distance_sphere'
如何使用数据库中存储的点类型获取计算距离和数据。
这条语句非常有效
SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), POINT(-79.3716, 45.6319)) as distance FROM user;
确保存储在数据库中的 POINT 变量顺序正确
这是我的查询,它试图 return 从特定点到 table 中所有记录的距离。
这是Table创作
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fname` varchar(45) DEFAULT NULL,
`lname` varchar(45) DEFAULT NULL,
`location` point DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=latin1;
这是select声明。
`SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), location) as distance from user;`
但它会产生以下错误:
'Error', '1210', 'Incorrect arguments to st_distance_sphere'
如何使用数据库中存储的点类型获取计算距离和数据。
这条语句非常有效
SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), POINT(-79.3716, 45.6319)) as distance FROM user;
确保存储在数据库中的 POINT 变量顺序正确