Home  >  Article  >  Database  >  How does MySQL calculate the distance between two coordinates and sort them?

How does MySQL calculate the distance between two coordinates and sort them?

藏色散人
藏色散人forward
2020-05-31 13:47:262430browse

How does MySQL calculate the distance between two coordinates and sort them?

Environment

MySQL5.6

https://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-object-shapes.html#function_st-distance

Table structure and data

DROP TABLE IF EXISTS `locationpoint`;
CREATE TABLE `locationpoint`
(
    `id`        int(11)       NOT NULL AUTO_INCREMENT,
    `province`  varchar(20)   NOT NULL,
    `city`      varchar(20)   NOT NULL,
    `longitude` double(10, 3) NOT NULL,
    `latitude`  double(10, 3) NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1156
  DEFAULT CHARSET = utf8;
rrree

Query method

(Taking Hohhot City, Inner Mongolia Autonomous Region as the calculation center)

INSERT INTO `locationpoint`
VALUES (1, '山东', '济南', 116.938477, 36.597889),
       (2, '河北', '石家庄', 114.477539, 38.030786),
       (3, '浙江', '杭州', 120.058594, 30.334954),
       (4, '河南', '郑州', 113.629, 34.744),
       (5, '安徽省', '合肥', 117.170, 31.520);

Query results

How does MySQL calculate the distance between two coordinates and sort them?

Recommended: "mysql tutorial"

The above is the detailed content of How does MySQL calculate the distance between two coordinates and sort them?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete