我有一个表来存储与正在执行的任务相关的事件和时间戳。“报告”任务是“测试”的集合,每个测试都有自己的一组事件和相关的时间戳。
结构如下:
reportID
testID
eventDateTime
eventType
每个 eventType 都类似于“开始”、“暂停”、“完成”等。我要做的是编写一个查询,告诉我对给定的 reportID/testID 组合及其时间戳采取的最后操作。
我的初步查询是:
SELECT reportID, MAX(eventDateTime), eventType
FROM testtracker_event
GROUP BY reportID, testID
结果非常接近我想要的,我得到了最新的 eventDateTime(我想要的),但它返回了第一个 eventType(而不是与最近时间戳关联的 eventType。)
我意识到有人问过类似的问题,但我已经搜索过,这似乎比我发现的任何类似问题都简单得多。我想相信这在没有子查询或连接的情况下是可能的,但我的想法是基于对类似问题的回答,但逻辑更复杂,但事实并非如此。