我有下表:
Id revenue LogAt playlog LogAt creds playlog Id
9673648 26.02.2013 13:46 26.02.2013 13:37 13 178849374
9673648 26.02.2013 13:46 26.02.2013 13:38 13 178849795
9673648 26.02.2013 13:46 26.02.2013 13:39 13 178850630
9673648 26.02.2013 13:46 26.02.2013 13:41 13 178851326
9673648 26.02.2013 13:46 26.02.2013 13:33 13 178847056
9673648 26.02.2013 13:46 26.02.2013 13:34 13 178847796
9673648 26.02.2013 13:46 26.02.2013 13:36 13 178848715
9673648 26.02.2013 13:46 26.02.2013 13:32 13 178846609
9673648 26.02.2013 13:46 26.02.2013 13:32 13 178846250
它实际上要长得多,有更多的 Id“组”,像这个一样多次列出,每个组的唯一区别是播放日志登录时间和播放日志 ID。
现在在给定的示例中,我需要选择 playlog logat 的时间为 13:41 的行。此外,对于所有其他 id 组,我需要具有“最新”播放日志 logat 行的行。在所有这些行中,信用应该总结起来。
我认为我必须通过时间为每组 id 过滤这 1 行,但我不知道如何。也许有 min()/max() 的东西?
我的 rdbms 是 Microsoft sql server management studio。
该表是以下联接的结果:
select *
from credits
inner join user on credits.userid = user.id
inner join sessionlog on user.id = sessionlog.userid
inner join playlog on sessionlog.id = playlog.sessionlogid