如果在数据库查询条件中用RowNum的话,请问该怎么操作呢?

用select wpt.work_plan_id,wpt.begin_time,wpt.bus_id,wpt.status,RowNum from WORK_PLAN_TABLE wpt
where RowNum = 1 and wpt.work_plan_id = 1查询和用用select wpt.work_plan_id,wpt.begin_time,wpt.bus_id,wpt.status,RowNum from WORK_PLAN_TABLE wpt
where RowNum = wpt.work_plan_id 查到的结果完全不同,用前者能查到一条记录,用后者查不到任何记录,但两者说的不是同一个意思吗,而且即使有差别也应该是后者可能查到的记录更多吧,为什么这样呢,真不理解,望高人指点

一只斗牛犬
浏览 316回答 2
2回答

一只萌萌小番薯

RowNum 是伪列,也就是说是在其他条件查询结果都执行完之后才创建的一列值,从1开始编号,因此RowNum 只能和常量进行比较操作,且只能是小于或小于等于,或等于1. 第二中写发中执行时RowNum这个伪列中的值都为空,因此什么也查不出来.但第一个查询先执行RowNum =1以外的条件是有结果的.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle
MySQL