2011-11-03 139 views
1

我有一个具体问题,我不知道如何解决它。从一个范围中选择数字

我有DB与结构:

ID NAME MIN_VALUE MAX_VALUE PERCENT 
1 Name1 0   500   40 
2 Name2 501   5000   30 
3 Name4 5001   5000000  20 

现在的问题是如何选择“百分比”从这个数据库,如果搜索字符串是1021(所以这是501和5000之间,,我需要加上一些数30%)

我想是这样的:

SELECT * FROM DB WHERE min_value < STRING < max_value 

但它不工作。

这可以用MySQL来完成,或者我应该使用PHP。但我只是没有IDEA如何解决这个问题。

随着亲切的问候,

回答

0
SELECT * FROM DB.table1 ` 
WHERE floor(1021*1.30) BETWEEN min_value+1 AND max_value-1 

一定要记得BETWEEN是包罗万象的,所以这段代码就相当于:

SELECT * FROM DB.table1 
WHERE floor(1021*1.30) >= (min_value+1) AND floor(1021*1.30) <= (max_value -1) 
+0

BETWEEN包含终点,但问题陈述了'min_value

+0

@JoeStefanelli,我确实注意到了这一点,但更新了这个问题以使其更加清晰。 – Johan

+0

谢谢你们! –