查找具有最新日期时间的记录

农民

我已经尝试了多种解决方案来使我的查询正常工作,但是每次都给出太多的结果。我只用TagID和datetime就能得到正确的答案,但是当我添加其他字段时,问题就开始了。我希望查询仅返回每个TagID的最新记录,并包含站点,事件和日期时间。

我的桌子看起来像这样:

TagID   | Site    | Event | DateTime  
Asset1  | Tokyo   | IN    | 01.01.14 22:30  
Asset2  | Tokyo   | OUT   | 01.01.14 22:35  
Asset3  | Bern    | IN    | 01.01.14 22:40  
Asset3  | Bern    | OUT   | 01.01.14 23:30  
Asset4  | London  | IN    | 31.01.14 22:30  
Asset2  | London  | IN    | 31.01.14 22:30  
Asset3  | Tokyo   | IN    | 31.01.14 22:30  

输出应为:

TagID   | Site    | Event | DateTime  
Asset1  | Tokyo   | IN    | 01.01.14 22:30  
Asset4  | London  | IN    | 31.01.14 22:30  
Asset2  | London  | IN    | 31.01.14 22:30  
Asset3  | Tokyo   | IN    | 31.01.14 22:30 

有什么建议?

计分图

如果您使用的是SQL Server和/或Microsoft Access,请尝试类似的方法。

SELECT t.TagID, t.Site, t.Event, t.DateTime
FROM
(
  SELECT TagID, MAX(DateTime) AS MaxDateTime
  FROM Table
  GROUP BY TagID
) r
INNER JOIN Table t
ON r.TagID = t.TagID AND r.MaxDateTime = t.DateTime

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章