Postgre SQL   发布时间:2022-05-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了postgresql 搜索指定距离内的记录 按近到远排序 并返回距离大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

脚本


create table myLOCATIOn ( 
  ID seriaL PRIMary KEY,geom GEOMETRY(Point,4326),name VARCHAR(128),x double precision,y double precision
); 
 
INSERT INTO myLOCATIOn (geom,name,x,y) VALUES (
  ST_GeomFromText('POINT(0.0001 0)','zhangsan',0.0001,0
);
INSERT INTO myLOCATIOn (geom,y) VALUES (
  ST_GeomFromText('POINT(0.001 0)',0.001,y) VALUES (
  ST_GeomFromText('POINT(0.1 0)',0.1,0
);



SELECT ID,geom,y,ST_distanceSphere(
                      geom,ST_GeometryFromText('POINT(0 0)')) distance
FROM myLOCATIOn
WHERE ST_DWithin(
  geom,ST_GeomFromText('POINT(0 0)',0.001
)ORDER BY distance asc;;

查询语句 下面距离单位为m

SELECT ID,ST_GeometryFromText('POINT(0 0)')) distance
FROM myLOCATIOn
WHERE ST_DWithin(
  geom::geography,4326)::geography,1000
) ORDER BY distance asc;


搜索结果

大佬总结

以上是大佬教程为你收集整理的postgresql 搜索指定距离内的记录 按近到远排序 并返回距离全部内容,希望文章能够帮你解决postgresql 搜索指定距离内的记录 按近到远排序 并返回距离所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:namex