0

这是我的查询,它试图返回从特定点到表中所有记录的距离。

这是表创建

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 ST_Distance_Sphere(POINT(-79.3716, 43.6319), location) as distance from user;`

但它会产生以下错误:

“错误”、“1210”、“st_distance_sphere 的参数不正确”

如何使用存储在数据库中的点类型获取计算出的距离以及数据。

这个语句完美地工作

SELECT ST_Distance_Sphere(POINT(-79.3716, 43.6319), POINT(-79.3716, 45.6319)) as distance FROM user;
4

1 回答 1

0

确保存储在数据库中的 POINT 变量顺序正确

于 2016-08-12T19:00:31.553 回答