2016-12-06 94 views
0

值我有一个表是这样的:SQL查询来获取从得分

enter image description here

我需要一个SQL查询来获取值,如果我有一个2.3得分。所以这意味着结果2.3应该在2.0/2.5/2.3之间,值应该是90。我怎样才能做到这一点?

回答

2
select value 
from your_table 
where 2.3 >= score 
order by score 
limit 1 

根据您的数据库引擎,你需要改变limit 1部分。为了只获得第一个记录,DB引擎有不同的方法。

+0

你确定这就是他想要的东西?为什么他在他的帖子中加入了2.5? – sagi

+0

是的,我确定。我认为OP没有真正考虑它或没有很好地描述它 –

0

试试这个

select value 
from tbl_in_between 
where 2.3 between score and (score+0.5) 
0

SQL SERVER,你可以不喜欢它:

DECLARE @Score NUMERIC(2,1)=2.3 

SELECT TOP 1 
FROM [YourTable] 
WHERE Score<[email protected] 
ORDER BY Score 
+0

ORDER BY is missing – Serg

+0

@Serg谢谢,我已经更新了我的答案。 –

0

你可以试试...

SELECT TOP 1 value 
FROM tbl_in_between 
WHERE Score <= 2.3 
ORDER BY Score