sortorder和rownum同时使用的问题
tableA
ID,Name,SortOrder
1 A 5
2 B 3
3 C 4
4 D 1
找出SortOrder小于某个值的最大记录.
如SortOrder=5时,应该找出SortOrder=4的记录
我的sql:
select * from tableA where rownum=1 and sortOrder <5 order by sortOrder desc
但是这个找出的结果不是每次都正确.
而必须要用
select * from (select * from tableA where sortorder <5 order by sortOrder desc) where rownum=1
请问有什么简单的办法?
------解决方案--------------------select *
from tableA
where SortOrder in (select max(SortOrder)
from tableA
where SortOrder <5)
------解决方案--------------------up
------解决方案--------------------第一个是先排序,在筛选。
第二个是用函数查找,如果表内容很多时,我认为第二个速度能快一些
------解决方案--------------------select * from tableA where rownum=1自然排序下第一行纪录 后面的条件都已经不起作用了
暂时没有什么简单的办法,
------解决方案--------------------select * from (select * from tableA where sortorder <5 order by sortOrder desc) where rownum=1
貌似就这个了
------解决方案--------------------select * from (select * from tableA where sortorder <5 order by sortOrder desc) where rownum=1
最简单的了!
------解决方案--------------------问下楼主,锄禾是谁啊?
------解决方案--------------------select * from (select * from tableA where sortorder <5 order by sortOrder desc) where rownum=1
多聯想到嵌套select語句。