oracle中rownum的使用

简介:

简单的说:oracle中同时使用rownum和order by时,要对子查询用order by,对父查询用rownum

 

代码示例:

<!-- 根据判重时的数据查找ins主键 使用rownum并需要排序的话,必须先用子查询进行排序-->
 <select id="selectPkInsId"
  parameterClass="com.sinosig.premiumServicebus.bean.Client_Message"
  resultClass="java.lang.Long">
  select i.pk_t_ins_id from ( select info.pk_t_ins_id from
  t_se_insurance_info info where info.cont_tel = #body.CONTTEL#
  <dynamic>
   <!-- 是新车 -->
   <isEqual prepend="" property="body.NEWVEHICLE"
    compareValue="1">
    <isNotEmpty prepend="and" property="body.CONTNAME">
     cont_name=#body.CONTNAME#
    </isNotEmpty>
   </isEqual>
   <!-- 非新车 -->
   <isEqual prepend="" property="body.NEWVEHICLE"
    compareValue="0">
    <isNotEmpty prepend="and" property="body.LICENSENO">
     num_plate=#body.LICENSENO#
    </isNotEmpty>
   </isEqual>
   <isNotEqual prepend="and" property="body.agentCode"
    compareValue="00000000">
    substr(info.purgecode,0,2) = 'DM'
   </isNotEqual>
   <isEqual prepend="and" property="body.agentCode"
    compareValue="00000000">
    substr(info.purgecode,0,2) = 'WB'
   </isEqual>
  </dynamic>
  order by info.pk_t_ins_id desc ) i where rownum = 1
 </select>



本文转自 winters1224 51CTO博客,原文链接:http://blog.51cto.com/winters1224/797847,如需转载请自行联系原作者

相关文章
|
6天前
|
SQL 移动开发 Oracle
[Oracle]面试官:你说说rownum、currval与nextval分别是什么,还有没有其他的?
本文主要介绍了 Oracle 数据库中的 `rownum` 虚拟字段和 `nextval`、`currval` 伪列。`rownum` 用于生成结果集的序号,常用于 `top-n` 查询。`nextval` 和 `currval` 基于序列,分别表示序列的下一个值和当前值,常用于主键的自动填充。文中提供了详细的示例和注意事项,帮助读者更好地理解和使用这些功能。
22 1
[Oracle]面试官:你说说rownum、currval与nextval分别是什么,还有没有其他的?
|
SQL Oracle 关系型数据库
Oracle 的sql陷阱(1)rownum和order by一起使用
rownum和order by一起使用可能会遇到取数不准确的问题
4881 0
|
6月前
|
SQL 移动开发 Oracle
避坑,Oracle中rownum与order by的执行顺序
避坑,Oracle中rownum与order by的执行顺序
|
6月前
|
SQL Oracle 关系型数据库
Oracle之CASE-WHEN、ROWNUM
Oracle之CASE-WHEN、ROWNUM
157 0
|
SQL 移动开发 Oracle
Oracle中rownum和row_number()
Oracle中rownum和row_number()
723 0
|
Oracle 关系型数据库 Go
Oracle:On ROWNUM and Limiting Results
转载记录一篇关于ROWNUM伪列的文章来自Tom Kyte大师 https://blogs.oracle.com/oraclemagazine/on-rownum-and-limiting-results This issue's Ask Tom column is a little different from the typical column.
891 0
|
SQL 存储 运维
Oracle-12:伪列rowid和rownum
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       伪列:不真实存储在真表中,但是我们可以查询到不能对伪列进行增删改操作!   分页可以用rownum来分!!!!!!!(因为oracle中没有limit)   放一份数据库脚本,...
939 0
|
Oracle 关系型数据库 PostgreSQL
|
Oracle 关系型数据库 数据库