Mysql选择查询,用于按时间段选择行
我有一个表employee,我想在其中根据日期选择一行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
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
在查询结束时添加此项