2013-04-22 40 views
-1

我有一個表results附近獲得MySQL中的主要價值值?

表具有

有幾千條記錄那裏。有的有幾百個,有的有幾千個,有的有10萬個,有的有上千萬個。

我得到$ amount作爲url中的一個變量。

我想只有6個成果,這是接近$量

這次我使用mysql的子句中的。但問題是,我將如何知道我使用的金額低於或高於$金額。

+1

提供一些例子和詳細的代碼,所以我們可以給適當的答案。 – fedorqui 2013-04-22 12:15:33

+0

這取決於具體問題。你如何定義「接近$金額」?它的常量值,+ - 10%? – Kasyx 2013-04-22 12:16:09

+0

@Kasyx $量是可變的。 – user2307273 2013-04-22 12:19:02

回答

1

你可以簡單地嘗試下面的查詢,

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

佔據絕對的差異,然後使用limit獲得前幾名:

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