2017-02-04 64 views
0

我需要從表.. 這是最近不到價值,如果我的表如下獲取最近的小於值

+----+----------+---------------------+ 
| id | display | email    | 
+----+----------+---------------------+ 
| 1 | 7  | [email protected] | 
+----+----------+---------------------+ 
| 2 | 1  | [email protected] | 
+----+----------+---------------------+ 
| 3 | 10  | [email protected] | 
+----+----------+---------------------+ 
| 4 | 8  | [email protected] | 
+----+----------+---------------------+ 

我需要得到顯示小於8 。這裏有7和1.但我只需要7,這是第一個小於8的值。請幫我找到一個邏輯來得到這個..

+1

使用排序。那麼下一個值將是近值 – urfusion

回答

0

使用MAX()函數來獲得最高的值符合標準。

SELECT MAX(display) 
FROM yourTable 
WHERE display < 8 
1

一種方法是使用order by/limit

select * 
from your_table 
where display < 8 
order by display desc 
limit 1 
0

您可以使用排序。

SELECT * FROM TB WHERE display < 8 ORDER BY display DESC LIMIT 1