我有3個表:獲取最接近值的MySQL
價格
id price date
1 50 20130716
2 30 20130717
TVA
id val start end
1 7 20080101 20103112
2 8 20110101
MARGIN
id qty marg
1 500 25
2 600 20
3 800 15
4 1000 13
5 1250 11
...
現在我有這個疑問它沒有按」 t工作:
$quantity = '557';
$link->query("
SELECT (
(price+marg)*((val+100)/100)
)
FROM PRICE
JOIN TVA
JOIN MARGIN
WHERE date = '20130717'
AND end = ''
AND qty = '$quantity'
");
問題是表上沒有qty = '557'
。 我想要做的是選擇最接近的數量(在本例中)'557'。
所以,如果:
$quantity = '557'
查詢應選擇600
$quantity = '701'
查詢應選擇800
$quantity = '1238'
查詢應選擇1250
等
這是可能?
你所有的例子都顯示了「向上」到下一個數量......大概你會想要如果它更接近「向下」圓整? – eggyal
這可能有所幫助:http://stackoverflow.com/questions/1634725/select-closest-numerical-value-with-mysql-query – phil