Mysql选择查询,用于按时间段选择行

Mysql选择查询,用于按时间段选择行,mysql,Mysql,我有一个表employee,我想在其中根据日期选择一行 emp_id validation_user entry_date ------------------------------------------------------- 10 mark 2014-05-01 11:11:00 10 ann 2014-05-01 10:14:00 10

我有一个表employee,我想在其中根据日期选择一行

emp_id       validation_user        entry_date
-------------------------------------------------------
 10          mark                   2014-05-01 11:11:00
 10          ann                    2014-05-01 10:14:00
 10          marco                  2014-05-01 11:07:00
 10          mark                   2014-05-01 10:00:00
我希望在emp_id=10且输入日期小于2014-05-01 11:11:00时获得该行 这应该只会给我返回一行,最接近2014-05-01 11:11:00,而不是三行

 emp_id       validation_user        entry_date
-------------------------------------------------------
 10                marco            2014-05-01 11:07:00           
我的select语句返回3行:

SELECT *    
FROM emp 
where entry_date < "2014-05-01 11:11:00"  
选择*
来自emp
其中输入日期<“2014-05-01 11:11:00”

由于MySQL中没有行号,您可以通过以下方式通过限制和顺序实现这一点:

SELECT *    
FROM emp 
where entry_date < "2014-05-01 11:11:00"  
order by entry_date desc
limit 1
选择*
来自emp
其中输入日期<“2014-05-01 11:11:00”
按条目订购\u日期说明
限制1
我们在这里所做的是按条目排序,以确保第一行确实是我们想要的第一行,然后指定将查询限制为1值


我们指定按降序排序,因为我们需要低于指定日期的最高值。

按条目排序\u date DESC LIMIT 1
在查询结束时添加此项