Выберите диапазон двух столбцов, которые также больше - PullRequest
0 голосов
/ 30 мая 2019

У меня есть случай, когда есть таблица со значением заказа и этими пределами и диапазонами, как показано ниже

Id       Value       Range_From         Range_To

1        360.0         500               1000
2        1001.0        1001              2000
3        3000.0        1001              2000

Мне нужен вывод 3-й записи, где 2-я и 3-я записи попадают между 1001 и 2000. Но когда я запрашиваю это, используя SQL МЕЖДУ, я получаю только запись 2, потому что она попадает в Range_From и Range_To для условия Between.

Пример:

SELECT * FROM Table WHERE Value BETWEEN Range_From AND Range_To;

Приведенный выше запрос даст только 2-ую запись. Как получить третью запись, так как это также удовлетворяет условию.

Кроме того, мне нужно только получить запись как выходной файл, значение которого когда-либо является самым высоким, и оно также должно попадать в Range_From и Range_To

Ответы [ 2 ]

1 голос
/ 30 мая 2019

Я думаю, что вы хотите запрос ниже:

SELECT * FROM (
        SELECT value, row_number() over(order by value desc) as RN FROM Table WHERE Value BETWEEN Range_From AND Range_To; 
) A WHERE RN = 1

Вы не сможете получить 3-ю строку, потому что она не удовлетворяет условию.3000 не между 1001 и 2000

0 голосов
/ 30 мая 2019

Попробуйте это

SELECT * FROM Table WHERE (Значение> Range_To);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...