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