失败我有一个有3列数据库减:大于和高于MySQL查询与十进制场
user_id | lat | lon
1 |-1.403976 | 53.428692
2 |-1.353276 | 55.224692
etc etc
两个纬度和经度设置为十进制的字段。我运行一个类似的查询,但它不是滤波基于比给定的经/纬度数大于和小于:
SELECT * FROM `table` WHERE `lat` < '-1.399999' AND 'lat' > '-1.300000'
AND 'lon' < '55.555555' AND > '53.000000'
这个查询只返回每一行的表,我不不知道为什么?这与设置为小数的字段有关吗?
我希望有人可以帮助 - 我知道它可能是一个简单的答案,如果你知道它。
按照评论 - 这里的创建表:
CREATE TABLE IF NOT EXISTS `members` (
`user_id` int(10) NOT NULL AUTO_INCREMENT,
`lat` decimal(8,6) NOT NULL,
`lon` decimal(8,6) NOT NULL,
UNIQUE KEY `user_id` (`user_id`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=136 ;
你可以发布'show create table YourTable'吗? – Barmar 2013-04-04 23:31:19