在给定值的10%内返回MySQL行

时间:2013-03-22 01:01:22

标签: php mysql

我在MySQL数据库中有一个如下所示的表:

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

现在,如果我有一个给定的值,比如13,我将如何返回评分在10%以内的所有行?13 /

3 个答案:

答案 0 :(得分:4)

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

这将完美无缺。

答案 1 :(得分:3)

SELECT * FROM mytable WHERE rating BETWEEN ? * 0.90 AND ? * 1.10

答案 2 :(得分:0)

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

假设最高等级为25.从那里它只是基本的低<评级<高查询逻辑。