在mysql中获取接近主值的值?

时间:2013-04-22 12:13:11

标签: php mysql

我有一张表 results

表格包含名称金额

那里有成千上万的记录。有些是数百种,有些是数千种,有些是100k,有数千万种。

我从网址获取 $ amount 作为变量。

我只想要6个接近 $ amount 的结果。

这次我使用mysql的 子句。但问题是我怎么知道我在下面使用了多少或者在$ amount之上使用了。

2 个答案:

答案 0 :(得分:2)

取绝对差异,然后使用limit获得前几位:

SELECT * 
FROM  `numbers` 
ORDER BY ABS( amount - $amount ) ASC 
LIMIT 6

答案 1 :(得分:1)

您可以尝试以下查询,

SELECT name, amount, ABS( amount - $amount ) AS diff
FROM results
ORDER BY diff
LIMIT 6