我想查找數據庫中與用戶在php中輸入內容最近的數字匹配。數據庫值可以用一個整數倍數來找到用戶輸入的近值。數據庫表中最接近的值
對於防爆: 數據庫具有以下托盤:
950, 900, 1070
用戶輸入一個值:2000
不是系統應該檢查:
950 * 2 = 1900
900 *2 = 1800
1070 * 2 = 2140
所以最接近值2000是1900年。任何幫助將不勝感激。
我想查找數據庫中與用戶在php中輸入內容最近的數字匹配。數據庫值可以用一個整數倍數來找到用戶輸入的近值。數據庫表中最接近的值
對於防爆: 數據庫具有以下托盤:
950, 900, 1070
用戶輸入一個值:2000
不是系統應該檢查:
950 * 2 = 1900
900 *2 = 1800
1070 * 2 = 2140
所以最接近值2000是1900年。任何幫助將不勝感激。
試試此查詢,也用用戶輸入替換2000。
SELECT your_column, abs(2000 MOD your_column)) as diff
FROM `mytable`
ORDER BY diff
LIMIT 1
SELECT your_column, abs($_POST['form_field_name']-(your_column*2)) as setcustomcolumn FROM `rablename` order by columnname LIMIT 1
爲您的答案提供一些解釋 – Thamaraiselvam
的可能的複製[如何從在mysql數據庫中最接近的值(https://stackoverflow.com/questions/7269243/how-to-get-nearest-value-from-database- in-mysql) –