使用group by获取最后一个值

时间:2014-03-14 12:13:17

标签: sql oracle

我在oracle中有如下表(T1)。

ReqTimestamp | ReqDuration | ServiceName | Marker

我写的查询是:

select max(ReqDuration) from T1 group by ServiceName , Marker;

这会在我的表格中为每个ReqDuration提供最多ServiceName,Marker

如何使用上述结果集获取最新ReqDuration的{​​{1}}值。

任何指针?

1 个答案:

答案 0 :(得分:2)

Oracle提供了方便的keep / first语法:

select max(ReqDuration),
       max(ReqDuration) keep (dense_rank first order by ReqTimeStamp desc)
from T1
group by ServiceName, Marker;