常见的分页的实现方式--简介

MySQL  :SELECT * FROM tablename LIMIT M,N;(M从哪里开始,N数据的条数)

PostgreSQL: SELECT * FROM tablename LIMIT N OFFSET M;

Oracle: select * from (select s.* ,rownum rn from (select * from tablename) s where rownum<=10) where rn>==1;

Hibernate框架进行分页:创建Query或Criteria对象,查询时设置firstResult和maxResults属性  String hql="from student";

Query q=session.createQuery(hql);

q.setFirstResult(M);

q.setMaxResult(N);

List list=q.list();

SQLServer:效率最高的一种方法.

select top 4 *from (select row_number()  over(ORDER BY(select 0)) as rownumber,* from Test s) A where rownumber >= 3

利用分析函数Row_number() over()为table1表的每一行添加一个行号,给行号这一列取名'RowNumber',over()中可以对

Test表进行排序,分页间隔取 rownumber(3,6);

ROW_NUMBER必须指写over (order by **),有时我根本就不想排序,想按原始顺序,ORDER BY(select 0)

你可能感兴趣的:(SQL)