问题描述
- 关于orale数据库的sql查询
-
要查询以两个字段为查询条件的语句,设为a字段和b字段,条件值为c,d,结果想 查出a>=c 和<=c 并且b>=d 和b<=d 分别的第一条数据。 如 a b 3 6 5 8 9 14 2 3 10 5 11 4 c,d值为6,7查询结果为 10,5 5,8 确实说的不是很明白,这样吧,数据路有两个字段分别为经纬度,给出已知的经纬度查询数据库的最相近经纬度的数据,这样能明白吗,加在一起去比较肯定
是不行的
解决方案
select * from (
select M.*,rownum rn from tablename M order by sqrt((power((a-c),2)+power((b-d),2))) asc
) where rn = 1;
求两点间最短,不知道是不是这个意思。
sqrt去掉要好点
解决方案二:
完全没看懂楼主想问什么?没明白楼主的意思
解决方案三:
看不懂你的条件,不过基本思路可以按下面写
select * from 表 where a>=c的值 and a<=c的值 and rownum=1
解决方案四:
呵呵,两个条件的结果分别是全集,然后将两个结果为全集的条件进行and计算,结果肯定还是全集,你直查全集的第一条记录不就行了,用得着这么绕么?
解决方案五:
确实说的不是很明白,这样吧,数据路有两个字段分别为经纬度,给出已知的经纬度查询数据库的最相近经纬度的数据,这样能明白吗,加在一起去比较肯定
是不行的
解决方案六:
感觉题目都不清晰............
解决方案七:
select a,b from table where a>=c&&a<=c&&b>=d&b<=d orderby a,b
时间: 2024-10-24 15:26:31