2014-12-03 72 views
1

比方说,我在MySQL数据库的表与下面的列限制天的记录数和计数

employee, status, work, start_date

考虑到start_date栏是日期和时间。

如果我做

SELECT employee, status, work, start_date from table_name WHERE DATE(date) >= CURDATE()-10 

这会给我记录从当前date - 10天。在这种情况下,我可能会根据数据获得1条记录到100条记录。

我只需要10个记录基于日期/时间(例如,如果有今天的10名员工即开始工作,那么我应该得到的只是今天的记录,而不是10天记录)

我怎样才能做到这一点?

+0

所以...你正在寻找'LIMIT 10'? – Wolph 2014-12-03 15:28:40

回答

2

你的意思是你想要十个最近的条目?您可以添加ORDER BY以设置结果返回的顺序,并添加LIMIT以减少结果总数。

SELECT employee, status, work, start_date from table_name 
WHERE DATE(date) >= CURDATE()-10 
ORDER BY date DESC 
LIMIT 10 
+0

感谢它的工作! – 2014-12-03 18:08:47

1

你需要使用order by的起始日期和limit

SELECT employee, status, work, start_date 
from table_name 
order by start_date desc 
limit 10