选择两列的范围也更大

时间:2019-05-30 06:09:15

标签: mysql sql

我遇到的情况是有一张表格,其中包含订单值以及以下限制和范围

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 BETWEEN查询时,我只得到记录2,因为它属于Range_From和Range_To之间的条件。 / p>

示例:

SELECT * FROM Table WHERE Value BETWEEN Range_From AND Range_To;

上面的查询将仅给出第二条记录。如何获得第三条记录也可以满足条件。

我也只需要获取记录作为输出,该记录的值是最高的,它也应该属于Range_From和Range_To

2 个答案:

答案 0 :(得分:0)

我想您要在以下查询中进行查询:

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

您将无法获得第三行,因为它不满足条件。 3000不在1001和2000之间

答案 1 :(得分:0)

尝试一下

SELECT * FROM Table WHERE(值> Range_To);