SQLite3按数值范围选择字段

时间:2011-11-29 15:58:08

标签: iphone sqlite floating-point range

在SQLite3中,说我有这个简单的表

rowid     value1    value2
(int)     (float)   (float)  
1         15.3      20.2
2         17.8      30.5
3         15.8      25.3
4         16.1      48.0

如何选择值为的行:
15.0> = value1< = 16.5-有效地选择行1,2& 3

进一步 我怎样才能优化添加到第一个标准 20.0> = value2< = 37.0-然后仅选择第1行和第1行。 3?

非常感谢您的帮助

2 个答案:

答案 0 :(得分:1)

我相信你的第一个逻辑不正确,因为如果value1小于15,它也将小于16.5,但只需更改运算符:

从SimpleTable中选择*,其中value1< = 15.0且value1< = 16.5;

也许你的意思是:

从SimpleTable中选择*,其中value1> = 15.0,value1< = 16.5;

再次(考虑调整后的逻辑):

从SimpleTable中选择*,其中value1> = 15.0,value1< = 16.5,value2> = 20.0,value2< = 37.0;

如果您希望对结果进行排序,可能需要添加“order by”子句。

答案 1 :(得分:0)

只需执行以下SQL命令:

select id, value1, value2 FROM <table name> WHERE value1 >= 15.0 AND  value1 <= 16.5 AND value2 >= 20.0 AND value2 <= 37.0