Ответы пользователя по тегу SQL
  • Необходима помощь в sql запросе?

    wildvampir
    @wildvampir
    Маньяк программист, в худшем его проявлении.
    Вам нужно отсортировать товары по наименьшей разнице между значением в таблице и введёнными данными
    ORDER BY (ABS(volume - %введёный объём%)) ASC
    ABS используется для получения абсолютного значения иначе могут быть не корректные результаты, для нескольких условий вам понадобится сложить все разницы
    ORDER BY (ABS(volume - %введёный объём%) + ABS(height - %введёная высота%)) ASC`

    и отсечь нужное количество используя LIMIT например
    LIMIT 3
    в итоге у вас должно получиться что-то подобное
    SELECT * FROM articles ORDER BY (ABS(volume - 5)) ASC LIMIT 3

    или (для нескольких параметров)
    SELECT * FROM articles ORDER BY (ABS(volume - 5) + ABS(height - 8)) ASC LIMIT 3
    Ответ написан
    Комментировать