使用SQL语句实现最短路线问题

Posted Aurora-RenShuoyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用SQL语句实现最短路线问题相关的知识,希望对你有一定的参考价值。

今天学习了一种直接用sql语句实现查询最短路径的方法,为我们的系统开发提供了便利。

String sql ="WITH RECURSIVE transfer (start_station, stop_station, stops, path) AS (\\n" +
                    "    SELECT station_name, next_station, 1, CAST(CONCAT(line_name,station_name , \'->\', line_name,next_station) AS CHAR(1000))\\n" +
                    "    FROM bj_subway WHERE station_name = ?\\n" +
                    "    UNION ALL\\n" +
                    "    SELECT p.start_station, e.next_station, stops + 1, CONCAT(p.path, \'->\', e.line_name, e.next_station)\\n" +
                    "    FROM transfer p\\n" +
                    "             JOIN bj_subway e\\n" +
                    "                  ON p.stop_station = e.station_name AND (INSTR(p.path, e.next_station) = 0)\\n" +
                    ")\\n" +
                    "SELECT * FROM transfer WHERE stop_station = ?;\\n";

 

以上是关于使用SQL语句实现最短路线问题的主要内容,如果未能解决你的问题,请参考以下文章

百度地图api文档实现任意两点之间的最短路线规划

postgresql+postgis+pgrouting实现最短路径查询---线数据的处理和建立拓扑

离线地图解决方案:最短路径规划

地铁最短路线个人项目

迷宫问题——最短路

如何使用 Alternatives=true 从 Google Maps 路线中找出最短路线?