Потребность оптимизирован запрос на ниже функции поисказаказ по ближайшему значению в MySQL
Таблица продукта
Product att1 att2 att3 att4 att5
p1 1 2 2 3 2
p2 4 1 1 5 5
p3 5 3 5 3 2
p4 4 4 2 1 1
, если поиск пользователя att1 = 3, ATT2 = 2 и att3 = 5
затем, нам необходимо отобразить все записи в порядке максимально возможного оценок всех необходимых атрибутов
Примечание: - в первой строке есть только одна позиция найденных совпадений. - во второй строке ничего не найдено, - в третьем ряду один соответствует найдено
Так на основе числа согласования, мы должны упорядочить записи, Если точное совпадение не найдено, то отдых на поиск элементов
Возможно, поиск не по '=', а по 'attx> = queryValue - lowRange AND attx <= queryValue + highRange', а также добавить вычисленное поле к выбору, равному' attx - queryValue AS distancex', это поле будет содержать расстояние совпадения от указанного значения, и вы можете использовать его для сортировки. – Yaniro