Я пытаюсь получить набор результатов, который содержит 10 значений, наиболее близких, в данном случае, к числу 3.
У меня есть база данных, в которой есть значения в столбце с рейтингом, который может быть 1, 2,3,4 или 5. То, что я пытаюсь сделать, это запросить базу данных и вернуть первые 10 строк, которые имеют значения, самые близкие к 3. Значения могут быть выше 3 или ниже 3. Я должен отметить, что эти значения вНоминальный столбец - это число с плавающей точкой.
Затем мне нужно отсортировать эти строки по порядку так, чтобы сначала были строки со значением 3, а затем строка с наименьшим смещением (+/-) из 3.
Есть ли какой-либо SQL-запрос, который может вернуть хотя бы результирующий набор значений, ближайший к 3?или мне придется вернуть всю БД и отсортировать ее самому?
Чтобы получить первые 10 строк с наибольшим значением, я использовал выражение
SELECT * FROM tabs ORDER BY 5 DESC LIMIT 10";
5, относящееся к столбцус рейтингом
Есть ли способ изменить это, чтобы сделать то, что я хочу?Спасибо