Выборка данных в SQL

Рейтинг: 0Ответов: 0Опубликовано: 06.08.2023
ID Index_Group Index_Left Percent
1 0.235294 0.786379 1
2 0.3157 0.704742 0.333333
3 0.384615 1.829067 0.6
5 0.25 1.92618 1
7 0.66666666 12.776826 1

Есть таблица с группами. Так же есть функция, в которую подаются 2 значения для выборки (по 3 и 4 колонке). По заданию выбирается группа, отвечающая последовательно следующим критериям:

  1. Максимальное значение по Index_Group
  2. Index_Left не больше заданного пользователем. В случае, если для максимального значения из 1го пункта Index_Left превышает заданный пользователем, брать следующую по Index_Group группу.
  3. Percent не более заданного пользователем. В случае, если для выбранной по предыдущим пунктам группы процент превышает установленный пользователем, берется следующая по индексу(Index_Group) группа, которая удовлетворяет так же 2му критерию.

Вот такая вот выборка... Сам сделал просто через WHERE Index_Left <= x AND Index_Left <= y Ну и потом сортировка по индекс_груп и LIMIT 1. Для x = 0.7 и y = 3 получаю ID группы 3, но по чек листу должна выбраться 2я группа. Вообще странное условия из 3х последовательных критериев, что они должны выполняться как бы последовательно, в моем "решении" же будто наоборот снизу вверх.

Ответы

Ответов пока нет.