我有一个与此类似的表:
LogId RefId Entered ================================== 1 1 2010-12-01 2 1 2010-12-04 3 2 2010-12-01 4 2 2010-12-06 5 3 2010-12-01 6 1 2010-12-10 7 3 2010-12-05 8 4 2010-12-01
在这里,LogId是唯一的;对于每个RefId,都有多个带有时间戳的条目。我要提取的是每个最新RefId的LogId。
有人可以帮我弄这个吗?
谢谢
您需要使用一个子查询,该子查询为每个RefId提取最新的Entered值,然后将您的源表与此RefId上的Entered联接起来:
SELECT DISTINCT MyTable.LogId, MyTable.Entered FROM MyTable INNER JOIN (SELECT RefId, MAX(Entered) as Entered FROM MyTable GROUP BY RefId) Latest ON MyTable.RefId = Latest.RefId AND MyTable.Entered = Latest.Entered