У меня есть таблицаMysql запрос, чтобы получить ближайшую запись
id startmileage endmileage price
1 1 2 30
2 2 3 50
3 3 4 70
4 4 5 100
5 5 25 4.5
6 25 35 7
В этой таблице я сохранный данные, чтобы получить цену между пробегами (от начала до конца мили) я могу получить цену от 1 разницы значение как 1 к 2, 2 до 3. Но для значений от 5 до 25 и от 25 до 35 я попробовал запрос, который будет работать как для самого близкого и точного значения, как этот
SELECT *
FROM table
ORDER BY ABS(startmileage - myValue)
LIMIT 1
Но этот запрос только работает для одного входа (запуск), так как мне нужно использовать как начальный, так и конечный пробег, чтобы получить лучший самый близкий запись.
Может кто-нибудь, пожалуйста, скажите мне лучший запрос для этого?
Можете ли вы дать некоторые ожидаемые примеры ввода/вывода? Я не совсем уверен, что вы спрашиваете. – Erik
Вы пробовали использовать MIN (ABS (запуск - myValue), ABS (endmileage - myValue))? –
SELECT * ОТ 'cms_farechart' ORDER BY MIN (ABS (пусковая рама - 7), ABS (конечный конец - 17)) limit 1 Эта ошибка дает синтаксическую ошибку – Googler