Нужно сделать выборку 10-ки DECIMAL, наиболее близких к искомому. Пока что все варианты, что пришли на ум, упираются в 2 запроса: а) выбрать всё, что меньше Х и, упорядочив по убыванию, выбрать первые 5 значений б) выбрать всё, что больше Х и, упорядочив по возрастанию, выбрать первые 5 значений А есть ли в MySQL какая-нибудь штука, которая упрощает эту задачу? В частности, есть ли функция, которая может выбрать 1 значение, максимально близкое к искомому?
Re: Как сделать выборку 10 чисел, максимально близких к иско не очень понятна логика выбора. Если больше опорного числа будут только два, а меньше - много, то как выбирать "ближайшие"?
Re: Как сделать выборку 10 чисел, максимально близких к иско Два так два. Числами будут координаты, так что это не так важно.
Re: Как сделать выборку 10 чисел, максимально близких к иско важно или не важно вопрос десятый. в таком случае выбирай двумя запросами по 10 в каждую сторону.
Re: Как сделать выборку 10 чисел, максимально близких к иско я за два запроса, т.к. не известно где "середина" =)
Re: Как сделать выборку 10 чисел, максимально близких к иско А есть ли какая-нибудь функция, которая может вывести одно максимально близкое к заданному число?
Re: Как сделать выборку 10 чисел, максимально близких к иско вроде нет. если бы направление было только одно, то как ты уже сказал - сортировка.
делается просто. выбираем модуль разницы заданного числа и числа из столбца, и сортируем по этому значению, по возрастанию. вот и получится список чисел ближайших к заданному. Код (PHP): SELECT num FROM numbers ORDER BY ABS(num- 99.99) ASC LIMIT 10 тут 99.99 - это и есть заданное число, ближайшие к которому ищем