我有一张表如下:
价格
ID * 低 * **高值
1 * 1 * 4 ** 29.0
2 * 5 * 9 ** 32.0
3 * 10 * 25 ** 50.0
低和高都是INT
我试过了: $ SQL =“价格中的SELECT值低于> ='2'和高< ='2' 但我得出零(0)结果返回,在这个例子中我想找到29.0
编辑了我上面的表格,因为我看到它已经形成后还不清楚。
答案 0 :(得分:1)
我在上面的示例中看不到高的< = 2。 你可能想要复习一下。
$SQL = "SELECT value from Prices WHERE low >= '2' AND high <= '2'"
您向我们展示的上述代码是正确的。
我相信你希望它转换为找到值29.0:
$SQL = "SELECT value from Prices WHERE low <= '2' AND high >= '2'"
答案 1 :(得分:1)
@Rick打败了我查询中的逻辑错误。只是要添加你应该使用围绕字段和表名称的反复(至少在value
这里,因为我认为这可能是一个未来的保留关键字)。另外,如果low
和high
为int
类型,则不应在引号中包含它们的值。虽然mysql可能会相应地转换它们,但您指定了字符串。
SELECT `value` from `Prices` WHERE `low` <= 2 AND `high` >= 2