ホームページ  >  記事  >  データベース  >  MySQL は 2 つの座標間の距離をどのように計算して並べ替えるのでしょうか?

MySQL は 2 つの座標間の距離をどのように計算して並べ替えるのでしょうか?

藏色散人
藏色散人転載
2020-05-31 13:47:262486ブラウズ

MySQL は 2 つの座標間の距離をどのように計算して並べ替えるのでしょうか?

#環境

MySQL5.6

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

テーブル構造とデータ

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;
errree

クエリ方法

(内モンゴル自治区フフホト市を計算センターとする)

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);

クエリ結果

MySQL は 2 つの座標間の距離をどのように計算して並べ替えるのでしょうか?

推奨: 「

mysql チュートリアル

以上がMySQL は 2 つの座標間の距離をどのように計算して並べ替えるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。