oracle复合查询的问题
select   *   from      unittable   u   where   contains(u.unitname, '公司 ')> 1   order      by   logtime   desc   这个查询语句能查出来 
 SELECT   *   FROM   (SELECT   ROWNUM   RN,TB.*   FROM   (select   *   from      unittable   u   where   contains(u.unitname, '公司 ')> 1   order   by   u.logtime   desc      )   TB)   WHERE   RN> 0   AND   RN <=15    
 这个查询结果为0,其中去掉contains   或   order   by   条件就能查出结果,请问各位着是怎么回事,谢谢。
------解决方案--------------------select ROWNUM RN, u.* from  unittable u where contains(u.unitname, '公司 ')> 1  
   and RN> 0 AND RN <=15  
   order  by logtime desc
------解决方案--------------------ROWNUM是记录的物理存储地址,估计可能刚好你查的记录的ROWNUM> 15; 
 而order by u.logtime desc  的排序和ROWNUM的排序不一致,所以可能会无法查出结构; 
 建议楼主把后面的WHERE RN> 0 AND RN <=15 去掉,应该就不会有这种问题了, 
 换言之是ROWNUM造成的问题.