首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

求sql,该如何解决

2012-01-09 
求sql现有一表A字段如下:FIRSTSPECVALUE10010901580207030.........095给出一个变量值,选择在SPECVALUE区

求sql
现有一表A

字段如下:

FIRST   SPECVALUE
100         10
90           15
80           20
70           30
.........
0             95

给出一个变量值,选择在SPECVALUE区间内较大的那条记录。(specvalue无重复,最小为0,最大不大于100)
例如23,选择第4条记录,因为23小于30且大于20
13,选择第2条记录,因为13大于10小于15
如果是9,则选择第1条记录,因为9大于0小于10
如果是98,则选择最后1条记录,因为98大于95小于100


[解决办法]
反了,
SELECT FIRST,SPECVALUE from tableA where SPECVALUE=
(SELECT min(SPECVALUE) from tableA where SPECVALUE> =变量)


[解决办法]
select * from 表名
where rownum =1
and SPECVALUE > =&SPECVALUE;
[解决办法]
select * from 表名
where rownum =1
and SPECVALUE > =&SPECVALUE order by specvalue;

[解决办法]
select *
from (
select a.SPECVALUE
from A a
where a.SPECVALUE <= 100
and a.SPECVALUE > &SPECVALUE
order by a.SPECVALUE
)
where rownum = 1;
[解决办法]
select * from 表名
where rownum =1
and SPECVALUE > =&SPECVALUE;

这个就好.简单明了.

热点排行