使用GROUP BY和ORDER BY pl / sql获取结果集的行N到M.

时间:2015-11-02 08:14:33

标签: sql oracle

我需要转换以下查询以返回从任何LOWERBOUND到UPPERBOUND(任意N到M)的特定行数。

SELECT * FROM (
  SELECT 
    OWNER||','||HOSTNAME OWNER,
    SubStr(FILENAME,InStr(FILENAME,'/',-1)+1,Length(FILENAME)-InStr(FILENAME,'/',-1)+1)  a, 
    To_Date(SubStr(FILENAME,InStr(filename,'_',1)+1,14),'YYYYMMDDHH24MISS') STARTIME,
    servergrp Server_Group,
    filename, 
    Count(1) b  
  FROM patcheventlog  
  GROUP BY 
    OWNER||','||HOSTNAME ,
    SubStr(FILENAME,InStr(FILENAME,'/',-1)+1,Length(FILENAME)-InStr(FILENAME,'/',-1)+1)  ,  
    To_Date(SubStr(FILENAME,InStr(filename,'_',1)+1,14),'YYYYMMDDHH24MISS') ,
    servergrp,
    filename  
  order by 
    Startime desc 
)
where  
  rownum<=10

通过使用aboove rownum概念,我只能将第一行的结果集定义到rownum。如上所述,从1到10。

所以请帮助我。

由于

1 个答案:

答案 0 :(得分:0)

样品供参考。我们需要做以下事情:

Group