2013-03-22 30 views
0

我有一個表在MySQL數據庫中,看起來像這樣的MySQL的行:10%返回給定值

username rating 
1 xxxxxxxx  -1 
2 xxxxxxxx  5 
3 xxxxxxxx  14 
4 xxxxxxxx  23 
5 xxxxxxxx  12 

現在,如果我有一個給定值,說13,我怎麼會去返回所有評級在10%以內的行都是13?

回答

4
SELECT * 
FROM `tblName` 
WHERE `rating` BETWEEN 13 * 0.9 AND 13 * 1.1 

這將很好地工作。

3
SELECT * FROM mytable WHERE rating BETWEEN ? * 0.90 AND ? * 1.10 
+0

這將不會返回。 – hjpotter92 2013-03-22 01:10:31

0
low = min(0, 13 * .9) 
high = max(25, 13 * 1.10) 

假設最大額定值爲25。從那裏,它只是基本的低<評級<高的查詢邏輯。