有疑问。我正在做一个选择,我需要抓取 2 行。
我的值为 13000.00000。我需要抓住第 2 行和第 3 行,因为它
介于 10000(最小范围)和 15000(最小范围)之间
该语句仅引入第 2 行。
select *
from TABLE1
where 13000 between TABLE1.MIN_RANGE and TABLE1.MAX_RANGE;
TABLE1
Row min_range max_range return_value
1 0.00000 9999.99900 1.15
2 10000.00000 14999.99900 1.25
3 15000.00000 19999.99900 1.35
4 20000.00000 24999.99900 1.14
你想要获得第一行掉落的数据below输入和下降的第一行above输入,都使用MIN_RANGE
作为判别器:
select top 1 *
from TABLE1
where TABLE1.MIN_RANGE < @input
order by MIN_RANGE desc
UNION
select top 1 *
from TABLE1
where TABLE1.MIN_RANGE >= @input
order by MIN_RANGE;
这感觉像是窗口函数的解决方案,也许有人可以发布。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)