获取具有特定范围的mysql查询

时间:2013-02-12 18:32:01

标签: php mysql

我有一个包含latitudelongitude后跟location name等的mysql表 并且我的程序想要加载仅显示在显示器上的数据,所以它可能就像这样

e.g -6.880713 < latitude < -6.90176 AND 107.599411 < longitude < 107.635374

如何使用该条件加载数据?

修改

该死的曼恩!我知道在我执行WHERE (lat < -6.90176)时发现的几项研究中,它只显示数据,当我搜索时开始-6.9xxxxx -6.8结果找到0:D当我执行WHERE (lat > -6.880713)时它只显示相同的情况以-6.8xxxxx开头但没有-6.9的数据:D WTF我不明白为什么会发生这种情况~~~难怪数据不会出现......

3 个答案:

答案 0 :(得分:2)

这也应该有效:

WHERE latitude BETWEEN -6.880713 AND -6.90176 AND longitude BETWEEN 107.599411 AND 107.635374
不过,

BETWEEN是包容性的。

答案 1 :(得分:1)

你不能在MySQL中使用“数学风格”不等式。你必须做类似的事情:

-6.880713 < latitude AND latitude < -6.90176 AND
    107.599411 < longitude AND longitude < 107.635374

-6.880713 < latitude < -6.90176被视为(-6.880713 < latitude) < -6.90176,其中(-6.880713 < latitude)将为1或0。

答案 2 :(得分:-1)

WHERE latitude > -6.880713 AND latitude < -6.90176 AND longitude > 107.599411 AND longitude < 107.635374