我有一张表 results
。
表格包含名称和金额列
那里有成千上万的记录。有些是数百种,有些是数千种,有些是100k,有数千万种。
我从网址获取 $ amount 作为变量。
我只想要6个接近 $ amount 的结果。
这次我使用mysql的 子句。但问题是我怎么知道我在下面使用了多少或者在$ amount之上使用了。
答案 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