Oracle中rownum查不到记录

select y.*, ceil((sysdate-y.in_station_time) * 24 * (60)) time 
from (select b.serial_number,b.in_station_time from 
             (select e.serial_number ,e.in_station_time from  sfism4.r_wip_tracking_t r,sfism4.r_wip_log_t e where 
            e.SERIAL_NUMBER=r.serial_number and  
            e.group_name = 'INPUT' ) b
            where b.serial_number not in(select g.serial_number from sfism4.r_wip_log_t g, (select l.serial_number  from  sfism4.r_wip_tracking_t t,sfism4.r_wip_log_t l where 
            L.SERIAL_NUMBER=t.serial_number and  
            l.group_name = 'INPUT' ) n 
            where n.serial_number = g.serial_number 
             and g.group_name ='RECIEVING'))  x ,
            ( select * from 
(select g.serial_number,g.group_name,g.in_station_time,g.line_name,g.station_name ,row_number() OVER(PARTITION BY g.serial_number ORDER BY g.in_station_time desc) as row_flg
 from sfism4.r_wip_log_t  g, (select l.serial_number ,l.in_station_time from  sfism4.r_wip_tracking_t t,sfism4.r_wip_log_t  l where 
            L.SERIAL_NUMBER=t.serial_number and  
            l.group_name = 'INPUT' ) q 
            where q.serial_number = g.serial_number 
             and g.group_name !='RECIEVING') a 
             where a.row_flg=1) y 
             where y.serial_number=x.serial_number 

这一段是能查询数据的   在y.serial_number=x.serial_number 后面加上and rownum <10 就一直执行  查询不到数据

我这个数据一共有17行

要先用order by 排序  

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632