2016-12-06 130 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