日期:2014-05-17  浏览次数:21164 次

ORACLE 如何先取 RowNum 再进行分组?
语句如下,取出来的结果是时间条件内的最大值和最值,等于说rownum 是无效的。
(rownum肯定是大于500的),有些什么方法使用rownum有效?

SELECT max(to_number(f.offset_x)) AS maxoffset_x,
       min(to_number(f.offset_x)) AS minoffset_x,
       max(to_number(f.offset_y)) AS maxoffset_y,
       min(to_number(f.offset_y)) AS minoffset_y,
       max(to_number(f.scale_x)) AS maxscale_x,
       min(to_number(f.scale_x)) AS minscale_x,
       max(to_number(f.scale_y)) AS maxscale_y,
       min(to_number(f.scale_y)) AS minscale_y,
       max(to_number(f.rotation)) AS maxrotation,
       min(to_number(f.rotation)) AS minrotation,
       max(to_number(f.orthogonality)) AS maxorthogonality,
       min(to_number(f.orthogonality)) AS minorthogonality,
       max(to_number(f.shot_scale_x)) AS maxshot_scale_x,
       min(to_number(f.shot_scale_x)) AS minshot_scale_x,
       max(to_number(f.shot_scale_y)) AS maxshot_scale_y,
       min(to_number(f.shot_scale_y)) AS minshot_scale_y,
       max(to_number(f.shot_scale_avr)) AS maxshot_scale_avr,
       min(to_number(f.shot_scale_avr)) AS minshot_scale_avr,
       max(to_number(f.shot_rotation)) AS maxshot_rotation,
       min(to_number(f.shot_rotation)) AS minshot_rotation,
       max(to_number(f.cx_min)) AS maxcx_min,
       min(to_number(f.cx_min)) AS mincx_min,
       max(to_number(f.cx_max)) AS maxcx_max,
       min(to_number(f.cx_max)) AS mincx_max,
       max(to_number(f.cy_min)) AS maxcy_min,
       min(to_number(f.cy_min)) AS mincy_min,
       max(to_number(f.cy_max)) AS maxcy_max,
       min(to_number(f.cy_max)) AS mincy_max,
       max(to_number(f.mx_min)) AS maxmx_min,
       min(to_number(f.mx_min)) AS minmx_min,
       max(to_number(f.mx_max)) AS maxmx_max,
       min(to_number(f.mx_max)) AS minmx_max,
       max(to_number(f.my_min)) AS maxmy_min,
       min(to_number(f.my_min)) AS minmy_min,
       max(to_number(f.my_max)) AS maxmy_max,
       min(to_number(f.my_max)) AS minmy_max
  FROM (SELECT DISTINCT s.LOT_RRN, e.lot_id
          FROM DATA_COLLECTION c, DCOL_STEP_INFO s, lot