luckysxn(风子) 兄:这样是不行的,rownum是检索后的行号,不能这样用 使用子查询 select * from (select rownum id,test.* from test) b where b.id = 2;
select * from test where rownum < 3 minus select * from test where rownum < 2
luckysxn(风子) 的方法我用了一下,只有rownun=1时 select * from test where rownum=1才能成功, 设置rownum为其他值时均不成功(如设置成为2,3,4,0等)得到no rows selected的结果,但事实是我的机器里有好几条记录。 用select * from (select rownum id,test.* from test) b where b.id = 2;可以得到未检索过的排序,设置id为1,2,3,4均有正确结果返回。 我想问问,我想指定检索过后的行号,如何实现。
为什么不用bzszp(SongZip)兄的这种方法! 是最好的 select * from (select rownum id,test.* from test) b where b.id = 2;
使用子查询
select * from (select rownum id,test.* from test) b where b.id = 2;
minus
select * from test where rownum < 2
select * from test where rownum=1才能成功,
设置rownum为其他值时均不成功(如设置成为2,3,4,0等)得到no rows selected的结果,但事实是我的机器里有好几条记录。
用select * from (select rownum id,test.* from test) b where b.id = 2;可以得到未检索过的排序,设置id为1,2,3,4均有正确结果返回。
我想问问,我想指定检索过后的行号,如何实现。
是最好的
select * from (select rownum id,test.* from test) b where b.id = 2;
最主要的是我读出来的数据是已经检索过,
因为我把某个字段使者成为了unique,
那么我让客户看到的界面是排序检索过了的,
但客户想查询时,肯定是对检索过的id进行检索,
而这个id肯定不是数据库中真正的id号呀!
请帮助我!