0

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

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

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

4

3 回答 3

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

这将完美地工作。

于 2013-03-22T01:04:14.817 回答
3
SELECT * FROM mytable WHERE rating BETWEEN ? * 0.90 AND ? * 1.10
于 2013-03-22T01:04:07.803 回答
0
low = min(0, 13 * .9)
high = max(25, 13 * 1.10)

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

于 2013-03-22T01:05:14.850 回答