2012-06-12 85 views
0

我有表 「測試」與的Fileds &值MySQL查詢最近的最低值與實際值問題

id number 
1 13 
2 17 
3 20 
4 30 
5 40 

如果我提供14,15,16那麼就應該給我13 如果我提供22 ,24,24那麼它應該給我20. 如果我提供13那麼它應該給我13. 如果我提供20那麼它應該給我20.

我正在尋找這個mysql的查詢,它提供最接近的最低值&實際值。

回答

1

假設你發送一個表值的列表

SELECT 
    * 
FROM 
    MyTable 
WHERE 
    number <= (SELECT MIN(requireNuber) FROM InputTable) 
ORDER BY 
    number DESC 
LIMIT 1 

雖然,我敢肯定,你只能從客戶端發送的最低值到MySQL(爲什麼你不能),這將使代碼看起來像

SELECT 
    * 
FROM 
    MyTable 
WHERE 
    number <= @MyParameter 
ORDER BY 
    number DESC 
LIMIT 1