在ORACLE7中如何取查询出来的前十条记录,是按降序进行排列的,因为ROWNUM在ORACLE7中没有ORACLE9中这样可以直接进行SELECT L,XS
FROM TEST
WHERE ROWNUM<=10
ORDER BY XS DESC这样的写法在ORACLE7中是不能通过,请高手指点,是否需要加一个序列根据序列来判断。
FROM TEST
WHERE ROWNUM<=10
ORDER BY XS DESC这样的写法在ORACLE7中是不能通过,请高手指点,是否需要加一个序列根据序列来判断。
SELECT L,XS,count(*) as num
FROM TEST
WHERE num <=10
ORDER BY XS DESC
FROM TEST
connect by ROWNUM <=10
ORDER BY XS DESC
直接换oracle版本
换到9i或更高
有很多功能7里都不具备
很难见到还用oracle7的了
where (select count(b.xs) from test b where b.xs >= a.xs) <= 10
order by a.xs desc;
1。先排序,然后再取前10条SELECT *
FROM (
SELECT L
,XS
FROM TEST
ORDER BY XS DESC
)
WHERE ROWNUM <= 102。先取10条数据,然后再排序SELECT L
,XS
,RANK() OVER(
ORDER BY XS DESC )
FROM TEST
WHERE ROWNUM <= 10
select a.* from datalog a
where (select count(1) from datalog b where a.rowID>b.rowID)<10
select a.* from datalog a
where (select count(1) from datalog b where a.rowID>b.rowID) <10 这种:select count(1) from datalog b where a.rowID>b.rowID 在执行的时候提示有错误,ORACLE7中这个函数报错 RANK() OVER(ORDER BY XS DESC)