2016-12-06 2 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. Чтобы получить только первые записи, БД имеют разные методы.

+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 отсутствует – Serg

+0

@Serg Спасибо, я обновил свой ответ. –

0

Вы можете попробовать ...

SELECT TOP 1 value 
FROM tbl_in_between 
WHERE Score <= 2.3 
ORDER BY Score 
Смежные вопросы