一个表中有下列的如容:
min max
0    200
1    150
在这个表中查询。
给出一个值
i=100
得到最近的记录。
i>min 并且要<max
怎么样得到的结果才是第二条记录.(这只是列了一个例数据库中有很我条记录
我要怎么样才能得到离I值最近的记录??
.)
用SQL语句表示.
select * from tablename where ......
怎么写?

解决方案 »

  1.   

    select Min(I-min) from tablename where (I>=min)and(I<=max)
      

  2.   

    或者
    select Min(abs(I-(max-min)/2)) from tablename where (I>=min)and(I<=max)
      

  3.   

    其实你在设计的时候完全可以把“范围”也作为输入的一项,例如:range=50(其他数字也可以,range=strtoint(edit1.text))
    这样你就好写了:select * from tablename where (min<i) and (max>i+range) 
    查询到的结果与你的range有关!