数据库中TOP—N查询
1)查询1-4的数据
SELECT rownum, sno, cno, score
    FROM (SELECT * FROM sc order by score desc)
 WHERE rownum < 4
2)查询2-5行的数据
SELECT rn, sno, cno, score
    FROM (SELECT rownum rn, sno, cno, score
              FROM (SELECT * FROM sc order by score desc))
 WHERE rn > 2
   and rn < 5
说明:1.rownum “伪列” ,数据表中本身就不存在这样的列,是数据库为每个数据自然加上去的,默认是主索引排序,所以需要我们用一个嵌套把它拿出来;
2.对rownum只能使用<或者<=,=,>,>=无法返回,需要我们再嵌套一层循环来把rownum(rn别名很有必要)给单独拿出来再去过滤。
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号