1

假设我在 MySQL DB 中有一个包含以下列的表

employee, status, work, start_date

考虑该start_date列是日期和时间。

如果我做

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

这将为我提供 Current date- 10 天的记录。在这种情况下,我可能会根据数据获得 1 到 100 条记录。

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

我怎样才能做到这一点?

4

2 回答 2

2

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

SELECT employee, status, work, start_date from table_name 
WHERE DATE(date) >= CURDATE()-10
ORDER BY date DESC
LIMIT 10
于 2014-12-03T15:28:51.223 回答
1

你需要使用order bystart_date 和limit

SELECT employee, status, work, start_date 
from table_name 
order by start_date desc
limit 10
于 2014-12-03T15:28:51.313 回答