oracel 的 ROWNUM 使用

网上百度了一下都说 若是 排序 是按照主键来排序是 先排序,而后 执行 rownum 的。sql

测试了一下 ,好比:测试

SELECT a.id_, a.crm_ou_user_id_, a.hr_eff_pfmce_planeecpt_id_, a.biz_status_, a.remark_, a.content_, a.status_, a.create_time_, a.modify_time_, a.creator_, a.modifier_
        FROM hr_eff_cprjt_record a
         WHERE     a.status_!='1'  and a.hr_eff_pfmce_planeecpt_id_='110003208000028' and a.biz_status_='3' 
         AND  ROWNUM<=1 
         ORDER BY  ID_ DESC排序

结果并无 是 id排序后取得 第一个结果的。rem

全部使用下面的方式来获取才是对的。百度

SELECT * FROM  (
        SELECT a.id_, a.crm_ou_user_id_, a.hr_eff_pfmce_planeecpt_id_, a.biz_status_, a.remark_, a.content_, a.status_, a.create_time_, a.modify_time_, a.creator_, a.modifier_
        FROM hr_eff_cprjt_record a
         WHERE     a.status_!='1'  and a.hr_eff_pfmce_planeecpt_id_='110003208000028' and a.biz_status_='3' 
         AND  ROWNUM<=1 
         ORDER BY  ID_ DESC )  WHERE  rownum<=1程序

固然若是数量不大的话。使用sql 添加所有查出来。想要那条数据,本身就在代码程序里面获取便可。im

相关文章
相关标签/搜索