SQLite查询比较行内距离

SQLite查询比较行内距离,sql,sqlite,Sql,Sqlite,我只想比较和得到一个到另一个距离范围内的站点。假设我有3个站A-B-C,它们都有一个位置x-y-z。我想得到距离30米的站点(我有一个函数来计算距离,所以我们称之为距离(x,y)) 从距离的站点选择*(站点1,站点2)

我只想比较和得到一个到另一个距离范围内的站点。假设我有3个站A-B-C,它们都有一个位置x-y-z。我想得到距离30米的站点(我有一个函数来计算距离,所以我们称之为距离(x,y))

从距离的站点选择*(站点1,站点2)<30

我的问题是如何比较站1和站2两行的距离


谢谢

您可以这样做:

select a.*
from station a
inner join station b
on distance(a.station_id, b.station_id) < 30;
选择一个*
从a站
内接驳站b
距离(a站id,b站id)<30;

谢谢,但结果很奇怪。。。即使我添加了条件a.ID,我也有很多重复项!=b、 身份证。。。你怎么解释?我可以在你的例子中选择b吗?原因是,它将station中的每个条目与station中的每个条目进行比较——笛卡尔积。使用
select distinct a.*
应该会有帮助。效果很好!!!谢谢-编辑:您知道如何避免重复,使station.a=1和station.b=2不会与station.a=2和station.b=1一起显示吗