首页 » 正文内容 » 数据库分页语句

数据库分页语句

时间:2022-11-03 00:10:29  热度:0°C
1/分页语句取出sql表中第31到40的记录(以自动增长ID为主键)sql server方案1:select top 10 * from t where id not in (select top 30 id from t order by id ) orde by idsql server方案2:select top 10 * from t where id in (select top 40 id from t order by id) order by id descmysql方案:select * from t order by id limit 30/10oracle方案:select * from (select rownum r/* from t where r30-待整理进去的内容-pageSize=20/pageNo = 5/1/分页技术1(直接利用sql语句进行分页,效率最高和最推荐的)mysql/sql = select * from articles limit + (pageNo-1)*pageSize + / + pageSize/oracle/ sql = select * from +(select rownum r/* from +(select * from articles order by postime desc) +where rownum + (pageNo-1)*pageSize/注释:第7行保证rownum的顺序是确定的,因为oracle的索引会造成rownum返回不同的值简洋提示:没有order by时,rownum按顺序输出,一旦有了order by,rownum不按顺序输出了,这说明rownum是排序前的编号。如果对order by从句中的字段建立了索引,那么,rownum也是按顺序输出的,因为这时候生成原始的查询结果集时会参照索引表的顺序来构建。sqlserver/sql = select top 10 * from id not id(select top + (pageNo-1)*pageSize + id from articles)DataSource ds = new InitialContext()/lookup(jndiurl)/Connection cn = ds/getConnection()//select * from user where id=? -binary directivePreparedStatement pstmt = cn/prepareSatement(sql)/ResultSet rs = pstmt/executeQuery()while(rs/next()out/println(rs/getString(1)/2/不可滚动的游标pageSize=20/pageNo = 5/cn = nullstmt = null/rs = null/trysqlserver/sql = select * from articles/DataSource ds = new InitialContext()/lookup(jndiurl)/Connection cn = ds/getConnection()//select * from user where id=? -binary directivePreparedStatement pstmt = cn/prepareSatement(sql)/ResultSet rs = pstmt/executeQuery()for(int j=0/j(pageNo-1)*pageSize/j+)rs/next()/int i=0/while(rs/next() & ibinary directivePreparedStatement pstmt = cn/prepareSatement(sql/ResultSet/TYPE_SCROLL_INSENSITIVE//)//根据上面这行代码的异常SQLFeatureNotSupportedException,就可判断驱动是否支持可滚动游标ResultSet rs = pstmt/executeQuery()rs/absolute(pageNo-1)*pageSize)int i=0/while(rs/next() & i10)i+/out

免责声明:
1. 《数据库分页语句》内容来源于互联网,版权归原著者或相关公司所有。
2. 若《86561825文库网》收录的文本内容侵犯了您的权益或隐私,请立即通知我们删除。