MySQL Int Range选择

时间:2017-10-13 09:53:53

标签: mysql

Screenshot of table

我有一个表,attribute rangerange_type是min(-1)和属性的max(1)值),attribute_value是值。我需要选择一个范围,例如从-1到15。

我只需要收到产品2,因为他的最小值是-5小于-1而最大值是18小于15。

我尝试这样的事情:

SELECT product_id
FROM `attribute_range`
WHERE
(`range_type` = -1 AND `attribute_value` <= -1)
AND
(`range_type` = 1 AND `attribute_value` >= 15)

但它不起作用,任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您应该使用子查询:

SELECT product_id
FROM `attribute_range`
WHERE (`range_type` = -1 AND `attribute_value` <= -1)
      AND produc_id in 
           (SELECT product_id
            FROM `attribute_range`
            WHERE (`range_type` = 1 AND `attribute_value` >= 15))