2013-04-30 79 views
-1

我正在尝试返回具有与最新时间戳记关联的笔记的任务。尽管此查询有效,但它并不会始终返回最新的时间戳。还有另一种方法来做到这一点?Mysql - 最近的时间戳记多个记录

SELECT DISTINCT tasks.TaskID, tasks.desc, tasks.startdate, tasks.active, notes.note,   max(notes.NoteDate) 
FROM tasks INNER JOIN notes ON tasks.TaskID=notes.NoteID 
WHERE notes.NoteDate >= curdate() 
GROUP BY tasks.TaskID 
+0

可能重复[获取具有最大值列的行](http://stackoverflow.com/questions/121387/fetch-the-row-which-has-the-max-value-for-a-column) – Barmar 2013-04-30 16:37:36

回答

0

试试沿着线:

SELECT tasks.TaskID, tasks.desc, tasks.startdate, tasks.active, notes.note,   notes.NoteDate 
FROM tasks INNER JOIN notes ON tasks.TaskID=notes.NoteID 
order by NoteDate Desc 
limit 1 

更新,如果你想多行(例如,其中在最后一天notedate)的

SELECT tasks.TaskID, tasks.desc, tasks.startdate, tasks.active, notes.note,   notes.NoteDate 
FROM tasks INNER JOIN notes ON tasks.TaskID=notes.NoteID 
where notes.NoteDate > date_sub(current_date(),interval 1 day) 
order by NoteDate Desc 
+0

问题那就是我试图返回多个记录,而不仅仅是一个。我需要列出所有最近更新的任务。 – T0w3ntuM 2013-04-30 16:41:25

+0

最近的意思是什么? – 2013-04-30 16:41:42

+0

今天更新,如果有帮助。所以我想要一份今天添加了笔记的任务列表。另外,NoteID是一个时间戳字段,而不仅仅是一个日期。 – T0w3ntuM 2013-04-30 16:55:12