常用关系数据库分页SQL都是不相同的,不过大同小异。 |
下面是Oracle分页简单事例图片以及代码:
1、普通查询
select*fromtable_Nametorderbyactive_countdesc;
2、查询第一条记录
select*from(select*fromtable_Nameorderbyactive_countdesc)whererownum=1;
查询前3条:类似Sqlserver中的TOP3
select*from(select*fromtable_Nameorderbyactive_countdesc)whererownum<=3;
4、查询第2至第3条记录
select*from(selectt.*,rownumasnofrom(select*fromtable_Nameorderbyactive_countdesc)t)wherenobetween2and3
5、在TOP3条记录的基础上查询第2至第3条记录
select*from(selectt.*,rownumasnofrom(select*fromtable_Nameorderbyactive_countdesc)twhererownum<=3)wherenobetween2and3
6、查询第2条以后的记录
select*from(selectt.*,rownumasnofrom(select*fromtable_Nameorderbyactive_countdesc)t)whereno>=2
解释:
rownum是在已产生数据的基础上伪生成的编号,所以使用rownum必须在已有数据的基础上,因此Oracle分页才加入了多个子查询。